春のクラウド高可用性ユーレカレジストリ

SpringCloudのEurekaServerの高可用性は、登録情報の相互複製機能を実現するために、異なるEurekaが相互に登録することです。それらはすべて同じ情報を持っています。登録センターの1つがダウンしても、プログラムの通常の機能には影響しません。通常、複数のサーバーがありますが、同じサーバー上にある場合もあります。

1つ:今回は2つのサーバーをシミュレートします。これらは同じマシン上にあり、ホストファイルを変更する必要があるためです。

Windosは、C:\ Windows \ System32 \ drivers \ etcのこのパスにあります。最初にデスクトップに移動してから、名前を.txtファイルに変更し、開いてサフィックスを削除し、元の場所に配置します。 。変更可能です。このファイルはデフォルトで読み取り専用です。右クリックしてプロパティを選択し、読み取り専用を削除します。

ホストを開き、以下を変更して2つの127.0.0.1マッピングを追加します

2:プログラムの構成ファイルを変更します

元のapplication.ymlの2をコピーし、次の図に名前を変更します

一般的な構成プロパティはapplication.ymlに記述できます

#文件存放通用的配置
spring:
  application:
    name: api-eureka
  profiles:
    active: server1
  server:
    eviction-interval-timer-in-ms: 4000  # 设置清理的间隔时间,而后这个时间使用的是毫秒单位(默认是60秒)
    enable-self-preservation: false  #关闭保护模式
    renewal-percent-threshold: 0.9

application-server1.ymlの内容

server:
  port: 8001
eureka:
  instance:
    hostname: server1
    #hostname:${spring.cloud.client.ipAddress} 不同的主机可以加上这句话
    #prefer-ip-address: true   不同的主机可以加上这句话
    instance-id: eureka-8001
    lease-renewal-interval-in-seconds: 30    # 续约更新时间间隔(默认30秒),eureka客户端向服务端发送心跳的时间间隔
    lease-expiration-duration-in-seconds: 90 # 设置心跳的周期间隔,续约到期时间(默认90秒)
  client:
    # 表示是否注册自身到eureka服务器
    register-with-eureka: true
    # 是否从eureka上获取注册信息
    fetch-registry: false
    service-url:
      defaultZone: http://server2:8002/eureka/  #/如果是多台机器,用过http://IP地址:8002/eureka/进行相互注册,客户端最好都注册到多个注册中心,虽然注册到一个注册中心也可以实现相互复制,但是如果主eurka挂了,
                                                #/那么后续就无法再注册服务了,这也是网上的服务注册多个到eureka用逗号分隔的原因,只要有一个活的eureka,就可以实现复制


 

application-server2.ymlの内容

server:
  port: 8002
eureka:
  instance:
    hostname: server2
    #hostname:${spring.cloud.client.ipAddress} 不同的主机可以加上这句话
    #prefer-ip-address: true   不同的主机可以加上这句话
    instance-id: eureka-8002
    lease-renewal-interval-in-seconds: 30    # 续约更新时间间隔(默认30秒),eureka客户端向服务端发送心跳的时间间隔
    lease-expiration-duration-in-seconds: 90 # 设置心跳的周期间隔,续约到期时间(默认90秒)
  client:
    # 表示是否注册自身到eureka服务器
    register-with-eureka: true
    # 是否从eureka上获取注册信息
    fetch-registry: false
    service-url:
      defaultZone: http://server1:8001/eureka/  #/如果是多台机器,用过http://IP地址:8002/eureka/进行相互注册,客户端最好都注册到多个注册中心,虽然注册到一个注册中心也可以实现相互复制,但是如果主eurka挂了,
      #/那么后续就无法再注册服务了,这也是网上的服务注册多个到eureka用逗号分隔的原因,只要有一个活的eureka,就可以实现复制

 

3:2つの登録センターを開始するようにアイデアを構成する

2つの新しいスタートアップ項目を作成し、同じサービスを選択して、異なる構成情報を選択します

次に、これら2つのサービスを順番に開始します。最初のサービスを開始すると、最初のサービスが2番目のサービスに登録されており、この時点では2番目のサービスが開始されていないため、エラーが報告されます。2番目のサービスを開始した後、それは正常です

または、jarパッケージから開始します

java -jar XXXXXX.jar --spring.profiles.active = server1
java -jar XXXXXX.jar --spring.profiles.active = server2
 

4: Cサービスを開始し、レジストリに登録します

其他服务最好都注册到注册中心,当然注册到某一个注册中心也可以,本次注册到一个注册中心,
defaultZone: http://localhost:8001/eureka/

Cサービスを開始した後、server1登録センターのアドレスを入力し、Cサービスが登録されていることを確認すると、2番目のserver2登録センターが表示されます。

 server2の登録センターのアドレスを入力すると、Cサービスも登録されていることがわかります。Cサービスはserver1にのみ登録しましたが、server2にもあり、情報が同期されていることを示しており、最初の登録センターが表示されます。 。

おすすめ

転載: blog.csdn.net/CarryBest/article/details/102605888