Dropwizard を使用してマイクロサービスを開発しているので、Dropwizard の 1 つの実行中のインスタンス/アプリケーションと多数のインスタンスで多くのリソースを持つことのバランスを見つけようとしています。
たとえば、3 つのリソースを持つ project-A があります。別のプロジェクト B で、プロジェクト A のリソースの 1 つを使用したいと考えています。共通のリソースは、ユーザー データに関連しています。今私は次のようなオプションがあります:
- project-B から project-A のユーザー リソースへの http 呼び出しを行います。ここでdropwizardのクライアントアプローチを使用できます
- ユーザー リソースは共通であるため、project-A から取り出して project-C と言うことができます。そして、プロジェクト A とプロジェクト B の両方でクライアント コードを作成する必要があります。
- ユーザー コードを含む jar を抽出し、プロジェクト B で使用できます。これにより、http 呼び出しが回避されます。
専門家の意見を聞きたいもう 1 つの点は、マイクロサービスの異なるインスタンス間の通信に関連するネットワーク呼び出しのバランスを取り、最小化する方法です。一般に、異なるインスタンス間の通信には http を使用する必要がありますか? または、他のプロセス間通信アプローチをパフォーマンス自体に使用できますか[特に、異なるインスタンスが同じシステム上にある場合]?
これは、マイクロサービスの世界の新規参入者にとって一般的な問題/混乱になる可能性があると思います. したがって、一般的なガイドラインやベストプラクティスを知りたい.
どうもありがとう
プラディープ