恭喜你的第一步應該跑起來了吧, 沒有就留言, 或者去羣裏問我吧, 肯定是可以跑起來的.
現在我們已經完成了eureka的單個註冊中心的新建, 萬一這個註冊中心掛了怎麼辦, 其他的服務不就不能通過應用的名字找到彼此了, 他們從此就失散了, 我可不想這樣的悲劇發生 ,所以我們要做註冊中心的高可用, 簡單點說其實就是註冊中心之間相互註冊.
我們要做的就是:
eureka-server2 向 eureka-server 註冊, eureka-server 向 eureka-server2註冊,
eureka-client同時向eureka-server 和 eureka-server2 註冊. 就這樣的一個示例. 當 eureka-server 或者 eureka-server2 任意掛了一個的時候, 都不會對提供的服務有影響.做到了高可用的示例.
當然了正常情況下, eureka-server 和 eureka-server2 肯定不在同一臺機器上, 不然一臺機器掛了, 那2個註冊中心不就一下全部掛掉了.
首先新建eureka-server2 springboot 項目
最後的pom文件和eureka-server 差不多,
就改下artifactId 就差不多了, 變成<artifactId>eureka-servser2</artifactId>.
然後在啓動類上添加註解
@EnableEurekaServer
修改eureka-server2的配置文件:
spring.application.name=eureka-server2
#eureka-server2的端口號
server.port=8762
#向eureka-server進行註冊,所以是1的端口
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
eureka.client.register-with-eureka=false
同時修改eureka-server項目的配置文件爲:
#應用端口號
server.port=8761
#應用的名字
spring.application.name=eureka-server
#eureka的註冊地址
eureka.client.service-url.defaultZone=http://localhost:8762/eureka
#eureka服務是否向自己註冊,默認true.
eureka.client.register-with-eureka=false
再修改eureka-client項目的配置文件爲:
#應用名字
spring.application.name=eureka-client
#端口號
server.port=8861
#註冊的url, 多個使用英文逗號做分隔
eureka.client.eureka-server-u-r-l-context=http://localhost:8761/eureka,http://localhost:8762/eureka
然後分別啓動eureka-server , eureka-server2 ,eureka-client項目. 去訪問http://localhost:8761
和http://localhost:8762 頁面, 查看是否註冊成功.
改完了分別啓動 eureka-server 和 eureka-server2 ,在啓動eureka-client 就可以看到他們相互註冊了.
在關掉一個服務 eureka-server 或者 eureka-server2 依然可以在註冊中西中看到的註冊的 eureka-client 示例.
說到高可用了, 我們只使用了2個服務註冊中心 , 其實應該是多個, 3個/5個......, 因爲我電腦卡. 所以就不弄多個了.
建議, eureka的高可用的時候,生產上至少2臺, 最好有3個實例, 進行相互註冊.
Java Framework,歡迎各位前來交流java相關
QQ羣:965125360
整個代碼地址是:
https://github.com/changhe626/micro-service