マイクロサービスの構築 パーマリンク to " マイクロサービスの構築"

マイクロサービスはJHipsterアプリケーションの一種であり、フロントエンドを持たず(Angularフロントエンドはgatewayで生成される必要があります)、Consulと連携して設定、検出、管理されます。

マイクロサービスアーキテクチャにおけるエンティティ パーマリンク to "マイクロサービスアーキテクチャにおけるエンティティ"

JWTまたはDTOを使用する場合、Userエンティティはマイクロサービスで生成されません。OAuth 2.0が使用される場合、マイクロサービスには、トークンからユーザーデータを抽出し、それをマイクロサービスのデータベースに保存するメカニズムがあります。そのため、JWTおよびDTOの場合、Userエンティティはゲートウェイのデータベースにのみ存在するため、Userエンティティとの関係を使用または定義できません。

異なるマイクロサービスのエンティティ間の関係はサポートされていません。

エンティティの生成 パーマリンク to "エンティティの生成"

マイクロフロントエンドのエンティティについては、マイクロフロントエンドを参照してください。

エンティティサブジェネレータを使用すると、フロントエンドとバックエンドのコードが同じアプリケーションに配置されないため、マイクロサービスアーキテクチャでの動作が少し異なります。

まず、マイクロサービスアプリケーションでエンティティを生成します。これは通常どおりに動作し、JHipster UMLまたはJDL Studioを使用して、複雑なエンティティとリレーションシップも生成できます。マイクロサービスにはフロントエンドがないため、UIコードは生成されません。

次に、ゲートウェイでエンティティサブジェネレータを再度実行します。最初に、ゲートウェイに固有の新しい質問が表示されます。

  • 新しいエンティティを通常生成するか(ゲートウェイも標準のJHipsterアプリケーションなので、これはモノリスアプリケーションのように動作します)、マイクロサービスから既存のJHipster構成を使用するかを選択できます。
  • マイクロサービスからエンティティを生成することを選択した場合、ローカルコンピュータ上のこのマイクロサービスへのパスを入力する必要があります。すると、JHipsterがゲートウェイ上にフロントエンドコードを生成します。

マイクロフロントエンド パーマリンク to "マイクロフロントエンド"

Microfrontendサポートは進行中です。実装は変更される可能性があり、フレームワークによって異なります。最新のステータスについては、マイクロフロントエンドのサポートを参照してください。

JHipsterのマイクロフロントエンド実装は、Webpack Module Federationを使用し、フロントエンドエンティティの実装をゲートウェイではなくマイクロサービスに配置できるようにします。

開発段階では、認証プロセスのためにゲートウェイを実行する必要があります。

ゲートウェイを使用して、または単独でマイクロフロントエンドを起動する方法については、生成されたREADMEを参照してください。

Hazelcastによる分散キャッシュ パーマリンク to "Hazelcastによる分散キャッシュ"

アプリケーションでSQLデータベースを使用している場合、JHipsterはマイクロサービスを使用した異なる第2レベルのキャッシュソリューションを提案しています。

  • マイクロサービスを備えたJHipsterのデフォルトのキャッシュソリューションはHazelcastです。
  • Ehcache(モノリスアプリケーションのデフォルトソリューション)またはCaffeineを選択するか、キャッシュをまったく使用しないことも選択できます。

このアーキテクチャでは、サービスを拡張するという考え方であるため、このソリューションはマイクロサービスのデフォルトです。

  • ローカルキャッシュを使用すると、サービスインスタンスに同期化されたキャッシュがないため、誤ったデータが生成されることになります。
  • キャッシュがないと、スケーリングの負担がデータベースに押し込まれ、(Cassandraオプションを使用しない限り)あまりうまくいきません。

マイクロサービスでHazelcastを使用すると、特定の構成となります。

  • 起動時に、アプリケーションはサービスレジストリに接続して、同じサービスの他のインスタンスが実行されているかどうかを確認します。
  • devプロファイルを使用すると、JHipsterはインスタンスごとに異なるポートを使用して、localhost(127.0.0.1)にこれらのインスタンスのクラスタを作成します。デフォルトでは、Hazelcastポートはアプリケーションのポート+5701です(したがって、アプリケーションのポートが8081の場合、Hazelcastはポート13782を使用します)。
  • prodプロファイルを使用すると、JHipsterはデフォルトのHazelcastポート(5701)を使用して、検出した他のすべてのノードとともにクラスタを作成します。

データベースを持たないマイクロサービス パーマリンク to "データベースを持たないマイクロサービス"

データベースなしで作成できるのはマイクロサービスアプリケーションだけです。これは、マイクロサービスが小さく、ユーザ管理コードがないためです。

データベースのないマイクロサービスは非常に小さく、レガシーシステムのような特定のバックエンドに接続するために使用されます。