spring cloudはEureka登録センターのHAを実現する方法です。


前言:
前の例では、Eureka Serverはすべてシングルノードであり、一旦このノードが生産中に切断されると、サービスの登録を再提供できなくなり、登録センターの高利用を保証するために、生産中にマルチノードのサービス登録センターを採用するのが一般的である。
一、hostsファイルに下記の構成を入れる

127.0.0.1 peer1 
127.0.0.1 peer2 
二、appication.ymlプロファイルの変更

--- 
spring: 
 profiles: peer1                 #   profile=peer1 
 application: 
  name: Eureka-Server1 
server: 
 port: 8761  #          
eureka: 
 instance: 
  hostname: peer1                #    profile=peer1 ,    
 client: 
  serviceUrl: 
   defaultZone: http://peer2:8762/eureka/   #       peer2  Eureka    
 
--- 
spring: 
 profiles: peer2 
 application: 
  name: Eureka-Server2 
server: 
 port: 8762 
eureka: 
 instance: 
  hostname: peer2 
 client: 
  serviceUrl: 
   defaultZone: http://peer1:8761/eureka/ #       ,      peer2   
三、jarのカバンを作ります
コマンドラインに以下のコマンドを入力します。

mvn clean package 
四、jarを実行する

java -jar springcloud-eureka-ha-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1 
java -jar springcloud-eureka-ha-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2 
五、Eureka Serverに訪問する
ブラウザに入力:http://localhost:8761/

ブラウザで入力:http://localhost:8762/

ちょっと問題があります。register ed-replicasとunavailable-replicasの両方にEureka Serverが存在します。そして現在のEurka Serverは利用できません。理由は以下の通りです。登録する時、配置ファイルの中の

spring: 
 application: 
  name: Eureka-Server2 
必ず一致しなければならないです。次の二つのEureka Serverの中のnameをEureka-Seerverに変えます。結果は以下の通りです。

六、サービスをダブルEureka Serverに登録する
defaultZoneを修正するだけでいいです。

# Eureka Server        
eureka.client.service-url.defaultZone=http://peer1:8761/eureka/,http://peer2:8762/eureka 
七、高利用検証
1、ブラウザで入力:http://localhost:7902/user/1
結果は以下の通りです
{id”:1、“username”:“user 1”、“name”:“張三”、“age”:20、“balance”:100.00} 
説明サービスが利用可能です
2、Eureka Server 2を止めて、Server 2が使えないことを発見しました。
3、再度ブラウザに入力します。http://localhost:7902/user/1
{id”:1、“username”:“user 1”、“name”:“張三”、“age”:20、“balance”:100.00} 
上記のステップによって、EurekaのHAが実現できます。穴がありますので、注意してください。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。