信息发布→ 登录 注册 退出

Spring Cloud学习(2)——高可用Eureka Server

发布时间:2025-10-04

点击量:

在单节点eureka server中,通过配置,使得服务中心不注册自己:

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

实现Eureka Server的高可用性,实际上是将自身作为服务,注册到其他服务注册中心,从而形成相互注册的服务注册中心网络,实现服务列表的同步,从而达到高可用性。

在单节点Eureka Server的基础上进行扩展,构建双节点服务注册中心集群,其中两个节点的hostname分别为peer1和peer2。首先,清空application.properties文件中的内容。如果不这样做,之前设置的eureka.client.register-with-eureka=false eureka.client.fetch-registry=false可能会影响后续测试,使peer1和peer2陷入不可用分区。在application.properties同级目录下创建application-peer1.properties作为peer1的配置文件,并将serviceUrl指向peer2:

spring.application.name=eureka-server
server.port=1111
eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/
#关闭保护机制
eureka.server.enable-self-preservation=false

在application.properties同级目录下创建application-peer2.properties作为peer2的配置文件,并将serviceUrl指向peer1:

spring.application.name=eureka-server
server.port=1112
eureka.instance.hostname=peer2
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/
#关闭保护机制
eureka.server.enable-self-preservation=false

在/etc/hosts文件中添加对peer1和peer2的映射,Windows系统的修改路径为C:\windows\system32\drivers\etc\hosts:

127.0.0.1 peer1
127.0.0.1 peer2

通过spring.profiles.active属性分别启动peer1和peer2:

java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

访问peer1的注册中心http://localhost:1111

访问peer2的注册中心http://localhost:1112

可以看到,peer1和peer2分别出现在对方的registered-replicas和available-replicas中。如果关闭peer2,刷新peer1,可以看到peer2变成了不可用分片(unavailable-replicas)。

标签:# register  # 分别为  # 这样做  # 出现在  # 基础上  # 目录下  # 不可用  # 可以看到  # 并将  # 可用性  # http  # eureka  # windows  # spring cloud  # spring  # red  # hosts文件  # windows系统  # 配置文件  # win  # ai  # app  # java  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!