web-dev-qa-db-ja.com

APIゲートウェイとマイクロサービスのアーキテクチャ

REST APIはAPI Gatewayを使用して公開することができ、優れたプラクティスと見なされています。 (少なくともインターネットに公開されている場合)

ただし、企業内には外部に公開されていない多数のマイクロサービスがあり、それらは相互に通信するために使用されます。

マイクロサービスからマイクロサービスへの通信に関してどのような経験がありますか。内部APIゲートウェイを介して、マイクロサービス間の直接リンク?

相互に直接通信する増加した数のマイクロサービスのメッシュを、内部Apiゲートウェイなしでどのように回避できますか? (マイクロサービスは同じネットワーク内にあります)Api管理ツールとAPIを使用するアーキテクチャ設計の可能性に関するいくつかの意見だけで、最良のソリューションを探していません

ありがとう

3
Cris

メッシュを回避するためのさまざまな側面があります。

  • APIゲートウェイ は、さまざまなフロントエンドとさまざまなバックエンド間のプロトコルの相互運用性を確保し、ネットワークチャネル(たとえば、動的に変化するバックエンドの固定アドレス、制御されたアクセス)を定義することにより、クライアントをマイクロサービスから分離します。ファイアウォール経由など)。

  • サービスレジストリ を使用すると、ディスカバリプロセスでマイクロサービス間のバインディングを動的に維持できます。クライアントとサーバーは、関係を事前に配線する代わりに、必要に応じて動的に互いを見つけます。

内部マイクロサービスに同種の技術スタックがあり、高いネットワークセキュリティ要件がない限り、必ずしもAPIゲートウェイは必要ありません。ただし、マイクロサービスの種類(つまり、サービスの種類)とスケーラビリティ(つまり、同じサービスの複数のインスタンス)を習得するには、サービスレジストリが必要です。

5
Christophe