プロダクション環境下でのマイクロサービス パーマリンク to " プロダクション環境下でのマイクロサービス"
マイクロサービスは、特定の種類のJHipsterアプリケーションです。プロダクションビルドの実行、最適化、およびセキュリティ保護の詳細については、メインのプロダクション環境下でのJHipsterのドキュメントを参照してください。
マイクロサービスの監視 パーマリンク to "マイクロサービスの監視"
JHipsterレジストリを使用する場合、使用可能なランタイムダッシュボードとその使用方法については、JHipsterレジストリのドキュメントを参照してください。
モニタリングのドキュメントも非常に重要であり、以下の使用に関する具体的な情報を得ることができます。
- マイクロサービスのログを収集するELK
- マイクロサービスのメトリクスを収集するPrometheus
- サービス全体のHTTP要求をトレースするZipkin
Docker Composeを使用した開発とデプロイ パーマリンク to "Docker Composeを使用した開発とデプロイ"
マイクロサービスアーキテクチャで作業するということは、複数の異なるサービスとデータベースを連携させる必要があるということであり、その意味でDocker Composeは、開発、テスト、運用環境を管理するための優れたツールです。
マイクロサービスに関する特定のセクションは、Docker Composeドキュメントに含まれており、マイクロサービスアーキテクチャに取り組む際には、このセクションに精通することを強くお勧めします。
Docker SwarmはDocker Machineと同じAPIを使用しているため、クラウドにマイクロサービスアーキテクチャをデプロイすることは、ローカルマシンにデプロイすることとまったく同じです。JHipsterでDocker Composeを使用する方法の詳細については、Docker Composeドキュメントに従ってください。
Cloud Foundryによる本番環境への移行 パーマリンク to "Cloud Foundryによる本番環境への移行"
Cloud Foundryサブジェネレータは、マイクロサービスアーキテクチャでも同じように動作しますが、主な違いは、デプロイするアプリケーションがより多いことです。
- Cloud Foundryサブジェネレータを使用して、最初にJHipsterレジストリ(通常のJHipsterアプリケーション)をデプロイします。
- JHipsterレジストリがデプロイされているURLをメモします。アプリケーションはすべてそのURLを指している必要があります。
bootstrap-prod.yml
ファイルでは、spring.cloud.config.uri
はhttp(s)://<your_jhipster_registry_url>/config/
を指している必要があります。application-prod.yml
ファイルでは、eureka.client.serviceUrl.defaultZone
はhttp(s)://<your_jhipster_registry_url>/eureka/
を指している必要があります。
- ゲートウェイとマイクロサービスをデプロイします。
- Cloud Foundryを使用して、アプリケーションを通常どおりにスケールアップします。
覚えておくべき重要な点の1つは、JHipsterレジストリはデフォルトでは保護されておらず、マイクロサービスは外部からアクセスできないことになっていることです。ユーザはゲートウェイを使用してアプリケーションにアクセスすることになります。
この問題を解決するには、次の2つの方法があります。
- 特定のルートを使用してCloud Foundryを保護します。
- すべてを公開したまま、すべての場所でHTTPSを使用し、Spring Securityの基本認証サポートを使用してJHipsterレジストリを保護します。
Herokuを使用した本番環境への移行 パーマリンク to "Herokuを使用した本番環境への移行"
Herokuサブジェネレータは、マイクロサービスアーキテクチャとほぼ同じように動作しますが、主な違いは、デプロイするアプリケーションがより多いことです。
ワンクリックでJHipsterレジストリを直接デプロイします。
JHipsterレジストリをセキュアにする方法を理解するには、Herokuサブジェネレータのドキュメントに従ってください。
JHipsterレジストリがデプロイされているURLをメモします。アプリケーションはすべて、application-prod.yml
ファイルでそのURLを指定する必要があります。その構成を次のように変更します。
eureka:
instance:
hostname: https://admin:[password]@[appname].herokuapp.com
prefer-ip-address: false
これで、ゲートウェイとマイクロサービスをデプロイし、スケールができます。Herokuのサブジェネレータは、JHipsterレジストリのURLを知るために、新しい質問をします。これにより、アプリケーションはSpring Cloud Configサーバで設定を取得できるようになります。