私は Eureka と Zuul を使用して Spring Cloud を使い始めており、Blue/Green と Canary デプロイメントの構造化についていくつか質問がありました。これまでのところ、基本的な作業は完了しており、Eureka、Zuul、および構成サーバーが期待どおりに機能しています。私が達成しようとしているのは、1.0 と 1.1 などの 2 つのバージョンを持つサービスをセットアップすることです。特定のユーザーのサブセットについては、1.1 バージョンにルーティングし、それ以外のユーザーは 1.0 バージョンに移行する必要があります。
Zuul フィルター API はドキュメンテーションがやや浅く、いくつかの概念を理解するのに少し苦労しているので、ここでいくつか質問したいと思います。また、いくつかの基本的なフィルターを実行していますが、プリンシパルの ID とそれらが要求しているサービスを取得する以外には、ほとんど何もしません。私が壁にぶつかっているのは、同じサービスの 2 つの異なるバージョンを Eureka と Zuul に公開する方法を理解することです。私が興味を持っているいくつかのこと:
- ドキュメント、投稿、およびその他のスタック オーバーフローの間で、「サービス」と「クラスター」という用語は同じ意味で使用されているようです。これは正しいです?
- そうは言っても、という名前のサービスがある場合、
/simpleservice
2 つの異なるサービス ID (つまりsimpleservice
とsimpleservice-1.1
) を公開しますか? そうすれば、ターゲット ユーザーの 1 人が をリクエストすると/simpleservice
、Zuul に送信してもらうことになります。/simpleservice-1.1
- または、既存のサービス ID に別のノードを追加し、Zuul がバージョン 1.0 と 1.1 を区別できるように、各ノードに追加のメタデータを追加しますか?
- 正解は「上記のすべて」ですか?:)