Eureka高可用注册中心

一 介绍
在微服务架构中,需要充分考虑故障情况,不仅包括一般的微服务,对于服务注册中心也是一样,本篇搭建Eureka的高可用注册中心,以增强系统的可用性。
在Eureka的服务治理设计中,所有节点既是提供方,也是服务消费者,服务注册中心也不例外。
在单节点配置中,设置下面两个参数,让服务注册中心不注册自己:
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
Eureka Server的高可用实际就是将自己作为服务向其他注册中心注册自己,这样就形成了一组互相注册的服务中心,以实现服务清单的互相同步,达到高可用的效果。
下面搭建一个高可用服务注册中心的集群。
二 创建application-peer1.properties,作为peer1服务中心的配置,并将serviceUrl指向peer2。
application-peer1.propertiesspring.application.name=eureka-server
server.port=1111
eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/
三 创建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/
四 在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。
F:\springcloud\springcloud2\eureka-server-ha>mvn install
F:\springcloud\springcloud2\eureka-server-ha\target>java -jar eureka-server-ha-1.0.0.jar --spring.profiles.active=peer1
F:\springcloud\springcloud2\eureka-server-ha\target>java -jar eureka-server-ha-1.0.0.jar --spring.profiles.active=peer2
六 访问peer1的注册中心http://localhost:1111
七 将服务注册到Eureka Server集群
1 修改配置如下:
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka/
将注册中心指向了peer1和peer2
可以观察到hello-service服务同时被注册到peer1和peer2上。
此时断开peer1,由于compute-service同时也向peer2注册,因此在peer2上其他服务依然能访问hello-service,从而实现服务注册中心的高可用。

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/81019926