プロダクション環境下でのマイクロサービス パーマリンク 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.urihttp(s)://<your_jhipster_registry_url>/config/を指している必要があります。
    • application-prod.ymlファイルでは、eureka.client.serviceUrl.defaultZonehttp(s)://<your_jhipster_registry_url>/eureka/を指している必要があります。
  • ゲートウェイとマイクロサービスをデプロイします。
  • Cloud Foundryを使用して、アプリケーションを通常どおりにスケールアップします。

覚えておくべき重要な点の1つは、JHipsterレジストリはデフォルトでは保護されておらず、マイクロサービスは外部からアクセスできないことになっていることです。ユーザはゲートウェイを使用してアプリケーションにアクセスすることになります。

この問題を解決するには、次の2つの方法があります。

  • 特定のルートを使用してCloud Foundryを保護します。
  • すべてを公開したまま、すべての場所でHTTPSを使用し、Spring Securityの基本認証サポートを使用してJHipsterレジストリを保護します。

Herokuを使用した本番環境への移行 パーマリンク to "Herokuを使用した本番環境への移行"

Herokuサブジェネレータは、マイクロサービスアーキテクチャとほぼ同じように動作しますが、主な違いは、デプロイするアプリケーションがより多いことです。

ワンクリックでJHipsterレジストリを直接デプロイします。

Herokuへのデプロイ

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サーバで設定を取得できるようになります。