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

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



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

