Zuul (マイクロサービス ゲートウェイ)

通常、異なるマイクロサービスには異なるネットワーク アドレスがあり、外部クライアントは、ビジネス要件を満たすために複数のサービス インターフェイスを呼び出す必要がある場合があります。 たとえば、映画チケット購入用のモバイル APP は、複数のマイクロサービス インターフェイスを呼び出して、チケット購入ビジネス プロセスを完了することができます。 クライアントが各マイクロサービスと直接通信する場合、次の問題が発生します。

(a) クライアントはさまざまなマイクロサービスを複数回要求し、クライアントの複雑さが増します。

(b) クロスドメインのリクエストがあり、特定のシナリオでは処理が比較的複雑です。

(c) 認証は複雑で、サービスごとに独立した認証が必要です。

(d) リファクタリングが困難。 プロジェクトが繰り返されるにつれて、マイクロサービスの再分割が必要になる場合があります。 たとえば、複数のサービスを 1 つに統合したり、1 つのサービスを複数に分割したりできます。 クライアントがマイクロサービスと直接通信する場合、リファクタリングの実装は困難になります。

(e) 一部のマイクロサービスは、ファイアウォール/ブラウザーに適していないプロトコルを使用している可能性があり、それらに直接アクセスすることは困難です。

上記の問題は、マイクロサービス ゲートウェイを使用することで解決できます。 マイクロサービス ゲートウェイは、クライアントとサーバーの間の中間層であり、すべての外部要求は最初にマイクロサービス ゲートウェイを通過します。 マイクロサービス ゲートウェイを使用した後、マイクロサービス ゲートウェイはアプリケーションの内部構造をカプセル化し、クライアントは特定のマイクロサービスのインターフェイスを直接呼び出すことなく、ゲートウェイと対話するだけで済みます。 このようにして、開発を簡素化することができます。 それだけでなく、マイクロサービス ゲートウェイを使用すると、次の利点があります。

a) 監視の容易さ。 監視データをマイクロサービス ゲートウェイで収集し、分析のために外部システムにプッシュできます.

(b) 認証の容易さ。 各マイクロサービスで認証する必要なく、要求をバックエンド マイクロサービスに転送する前に、マイクロサービス ゲートウェイで認証を行うことができます。

(c) クライアントと個々のマイクロサービス間のやり取りの数が減ります。

Last updated