【Spring Cloud笔记】 Eureka经过集群实现高可用

Eureka实现服务注册与发现,在Spring Cloud微服务中起着关键性的做用,必须保障其高可用,常规方案无非经过集群实现。这里在本地机器搭建一个伪集群环境,经过两个节点实现相互注册,并经过主备数据同步实现高可用,实际生产环境可能有多个节点,原理同样。简单步骤以下:java

【step1】:eureka配置文件以下spring

spring: application: name: eureka-cluster --- spring: profiles: master server: port: 8761 eureka: instance: hostname: master client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://backup:8762/eureka

--- spring: profiles: backup server: port: 8762 eureka: instance: hostname: backup client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://master:8761/eureka

注意:这里经过端口不一样实现模拟,而且须要配置机器host信息:app

192.168.31.11 master
192.168.31.11 backup微服务

 

【step2】:打包部署,并启动测试

经过mvn install打包,而后分别启动,fetch

java -jar eureka.jar --spring.profiles.active=master
java -jar eureka.jar --spring.profiles.active=backupspa

启动时指定spring.profiles.active实现主备模拟。3d

 

【step3】:访问测试code

 访问http://192.168.31.11:8761/ 详情以下:server

 

 访问http://192.168.31.11:8762/ 详情以下:

 

【step4】:修改客户端,启动客户端测试

 客户端修改Eureka的注册地址:eureka.client.serviceUrl.defaultZone: http://master:8761/eureka/,http://backup:8762/eureka/,启动客户端,而后分别访问Eureka查看,已经注册到了各个节点。

停掉其中某个Eureka节点,而后再次启动查看,会发现服务信息从可用的节点同步到了当前节点。