序文:
Spring-Cloudベースのマイクロサービスアーキテクチャでは、すべてのマイクロサービスをレジストリに登録する必要があります。レジストリがブロックまたはクラッシュした場合、システム全体が正常にサービスを提供し続けることはできません。したがって、レジストリはここでクラスター化する必要があります。つまり、高可用性(HA)
前提:
環境を変更せずに、最初のレジストリのプロジェクトを読んで完了します。この記事は高可用性のシミュレーションであり、2つのレジストリセンターにプロジェクトをコピーして、それぞれの構成ファイルを個別に変更して同じ効果を達成できます。
次のように、ファイルの最後にホストを変更し、2行を追加します。
127.0.0.1 PEER1127.0.0.1 PEER2
Notepad ++を使用することをお勧めします。 Win10の場合、許可を与え、確認してから保存することを思い出させます。
プロジェクト構築:
レジストリセンターでプロジェクトを開き、SRC/リソースの下にアプリケーションPeer1.Propertiesを作成します
#Application name spring.application.name = eureka-server#サービスを提供するサービスポート1111Server.port = 1111#サービスを提供するドメイン名。ここでは、eureka.instance.hostname = peer1#2番目の登録センターeureka.client.service-url.defaultzone = http:// peer2:1112/eureka/
SRC/リソースの下にアプリケーションPeer2.Propertiesを作成します
#アプリケーション名は、最初のレジストリ、spring.application.name = eureka-server#サービスポート1112Server.port = 1112#サービスを提供するドメイン名と同じです。ここでは、eureka.instance.hostname = peer2#最初のレジストリ、eureka.client.service-url.defaultzone = http:// peer1:1111/eureka/
この記事では、テストにアイデアを使用しています。まず、このプロジェクトをJARパッケージにする必要があります。これは、Mavenコンパイルツールとパッケージングツールがpom.xmlで導入され、パッケージング形式がJARパッケージとして指定されているためです。これは、画面の右上でここで直接行われます
図に示すように、パッケージが完成し、JARパッケージはターゲットフォルダーにあります
画面の下部にある写真に示されているように端子を開く
ターミナルを開いた後、JARパッケージがターゲットディレクトリにあり、現在のディレクトリがプロジェクトディレクトリ、最初のCDがターゲットディレクトリにあるため、次のコマンドを入力してください。
ヒント:コマンドを入力するときに間違ったファイル名を防ぐために、ファイル名の最初の数文字を入力してから、TABキーを使用して自動的に完了できます。
コードを次のようにコピーします:Java -jar eurekaserverdemo-0.0.1-snapshot.jar ---spring.profiles.active = peer1
このコマンドを入力した後、図に示すように、PEER1構成ファイルのプロジェクトが開始されます
次に、2番目のプロジェクトを開始します。ここでは、ターゲットディレクトリに別の端末、CDを開く必要があります
注:ここでは同じプロジェクトを使用しています。読者は、テストに2つのプロジェクトを使用できます。ポートが競合しないことに注意することが重要です。
コードを次のようにコピーします:Java -jar eurekaserverdemo-0.0.1-snapshot.jar ---spring.profiles.active = peer2
プロジェクトが起動して完了するのを待って、エラーが報告されているかどうかを確認してください。
テスト:
ブラウザ入力:localhost:1112表示用、またはlocalhost:1111を表示することができます
結論:
マルチノード登録センターを設定した後、高可用性が達成されますが、現時点ではマイクロサービスアプリケーションはこのサービスにのみ登録されているため、新しいノードの登録サービスパスをマイクロサービスアプリケーションに割り当てる必要があります。
図に示すように、複数のノードを分離するには「」、」
このようにして、マイクロサービスプロバイダーが場所のいずれかから切断された後、他のノードに登録されているため、サービスを提供することもできます。ホスト名を使用して登録センターにアクセスしたくない場合は、IPを使用することもできますが、最初に構成を追加する必要があります。
eureka.instance.prefer-ip-address = true
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。