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節點,而後再次啓動查看,會發現服務信息從可用的節點同步到了當前節點。