單臺Spring Cloud Eureka升級到三臺Eureka高可用集群
概述
由于前段時間,公司業(yè)務發(fā)展快,接了太多的業(yè)務需求了,沒有時間把Eureka搞成高可用的,先用一臺Eureka應付。當時由于流量還不大,不會出現(xiàn)問題。但是最近一個月,流量逐漸增大,老板擔心萬一單臺Eureka掛了,服務會用不了。讓我趕緊升級成3臺Eureka,并兩兩注冊,做到高可用。下面就把升級的過程說一下。
未升級前

單臺Eureka上,只有購物車這個服務提供方,共兩臺。
升級步驟
為了描述的方便,線上已經(jīng)存在的Eureka稱之為peer1,新增的兩臺Eureka分別叫peer2和peer3。
第一步
將peer2和peer3作為客戶端注冊到peer1上,根據(jù)Eureka的原理,peer1上的注冊信息會同步到peer2和peer3上。但是由于購物車服務只會給peer1發(fā)送心跳,而不會給peer2和peer3發(fā)送心跳信息,如果我們把Eureka的自我保護模式關閉掉的話,剛剛同步到peer2和peer3上的購物車實例信息會很快被摘除掉的。
第二步
如第一步所提到的,peer2和peer3上的購物車實例會很快被摘除掉,因此我們還需要把peer1也作為客戶端注冊到peer2和peer3上。這樣,由于購物車服務會給peer1發(fā)送心跳,因此peer1是會保存購物車服務的實例信息的,根據(jù)Eureka的同步原理,這份實例信息會同步到peer2和peer3上,并自動維護這份信息。到此,注冊中心的升級便完成了。最終效果如下:



第三步
重新部署購物車服務,將購物車服務的注冊中心地址,指向高可用的注冊中心。
第四步
重新部署Eureka Client,將其注冊中心的地址指向高可用的注冊中心。
我是按照上面的方式升級的,沒發(fā)現(xiàn)問題。有更好辦法的,歡迎在評論中留言。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
詳解mybatis foreach collection示例
這篇文章主要介紹了詳解mybatis foreach collection的相關資料,需要的朋友可以參考下2017-10-10
SpringBoot整合Redis及Redis工具類撰寫實例
這篇文章主要介紹了SpringBoot整合Redis及Redis工具類撰寫實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
MyBatis?多表聯(lián)合查詢及優(yōu)化方法
大家都知道Hibernate 是全自動的數(shù)據(jù)庫持久層框架,它可以通過實體來映射數(shù)據(jù)庫,通過設置一對多、多對一、一對一、多對多的關聯(lián)來實現(xiàn)聯(lián)合查詢,接下來通過本文給大家介紹MyBatis?多表聯(lián)合查詢及優(yōu)化,需要的朋友可以參考下2022-08-08
Spring Cloud Stream微服務消息框架原理及實例解析
這篇文章主要介紹了Spring Cloud Stream微服務消息框架原理及實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06
SpringBoot單元測試使用@Test沒有run方法的解決方案
這篇文章主要介紹了SpringBoot單元測試使用@Test沒有run方法的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01

