1、前言
分布式环境下,考虑发生故障的情况,要构建高可用的注册中心,以增强系统的可用性。
2、解决办法
注册中心,互相注册,形成一组集群,以实现服务清单的互相同步,达到高可用效果。
3、多注册中心集群
3.1 DS Replicas
在Spring Cloud Eureka中,DS Replicas(数据副本)是指Eureka Server集群中各个节点之间同步注册表信息的副本。
3.2注册中心1
配置文件
server.port=8881
spring.application.name=eureka-server
## eureka服务端:禁用自己的客户端注册行为
eureka.instance.hostname=localhost
# 服务端禁用自己的客户端注册行为
eureka.client.registerWithEureka=false
# 服务端只需要维护服务实例,不需要检索服务
eureka.client.fetchRegistry=false
# 服务端设置自己的.properties属性值
eureka.client.serviceUrl.defaultZone=http://localhost2:8882/eureka/
启动指令
java -jar eureka-1.0-SNAPSHOT.jar
http://localhost:8881/
3.3注册中心2
配置文件
application-b.properties
server.port=8882
spring.application.name=eureka-server
## eureka服务端:禁用自己的客户端注册行为
eureka.instance.hostname=localhost2
# 服务端禁用自己的客户端注册行为
eureka.client.registerWithEureka=false
# 服务端只需要维护服务实例,不需要检索服务
eureka.client.fetchRegistry=false
# 服务端设置自己的.properties属性值
eureka.client.serviceUrl.defaultZone=http://localhost:8881/eureka/
启动指令
java -jar eureka-1.0-SNAPSHOT.jar --spring.profiles.active=b
http://localhost:8882/
修改/etc/hosts
3.4验证效果:高可用集群
http://localhost:8881/
http://localhost:8882/