Spring Cloud実戦テクニックの使用はランダムポートです。


前言
Spring Cloudでマイクロサービスアーキテクチャを構築するには、登録センターや配置センターなどのインフラストラクチャの高利用性をテストするために、複数のインスタンスを起動する必要があります。クライアントの負荷バランスをテストするための呼び出しなどにも使用されます。しかし、一つのアプリケーションは一つのポート番号しかありません。これによって、本機のテストの時、同じサービスのために違うポートを設置して起動しなければなりません。
同じサービスインスタンスをローカルに異なるポートで起動する方法が多い。最も伝統的な私たちは、複数のインスタンスを別々に起動するために配置ファイルのserver.port属性を乱暴に修正することができますが、この方法は実現できますが、非常に不便です。より良い方法は起動時にコマンドによってserver.port属性に異なる値を設定することです。このように私達のプロファイルは繰り返し修正する必要はありません。
本論文では、他の方法を紹介します。
ランダムポートを使用して、各サービスのインスタンスを設定します。このように、任意のコマンドを編集しなくても、ローカルで簡単に複数のインスタンスを起動できます。
ランダムポートを使う
Spring Cloudの応用のための実用的なランダムポートは非常に簡単で、主に2つの方法があります。
1、server.port=0を設定し、アプリケーションが起動するとランダムポートが自動的に割り当てられますが、この方法はEurekaに登録されたときに問題があります。すべてのインスタンスは同じインスタンス名を使用しています。したがって、インスタンスIDの定義を変更する必要があります。インスタンスIDは、例えば乱数を使用して構成されるように、各インスタンスのIDが異なるようにします。

server.port=0
eureka.instance.instance-id=${spring.application.name}:${random.int}
2、上記の方法以外に、実際にはrandom関数を直接使用してserver.portを構成することもできます。このようにして、ポートの取得範囲を指定できます。

server.port=${random.int[10000,19999]}
デフォルトのインスタンスIDはserver.portによってスティッチングされるので、server.portによって設定された乱数は、再び乱数を取ることになるので、この方法を使用するときはインスタンスIDを再定義する必要がないルールを使用して、異なるインスタンスIDを生成することができる。
締め括りをつける
以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に一定の助けをもたらすことを望んでいます。もし疑問があれば、メッセージを残して交流してください。ありがとうございます。