單臺Spring Cloud Eureka升級到三臺Eureka高可用集群
概述
由于前段時(shí)間,公司業(yè)務(wù)發(fā)展快,接了太多的業(yè)務(wù)需求了,沒有時(shí)間把Eureka搞成高可用的,先用一臺Eureka應(yīng)付。當(dāng)時(shí)由于流量還不大,不會出現(xiàn)問題。但是最近一個(gè)月,流量逐漸增大,老板擔(dān)心萬一單臺Eureka掛了,服務(wù)會用不了。讓我趕緊升級成3臺Eureka,并兩兩注冊,做到高可用。下面就把升級的過程說一下。
未升級前
單臺Eureka
上,只有購物車這個(gè)服務(wù)提供方,共兩臺。
升級步驟
為了描述的方便,線上已經(jīng)存在的Eureka
稱之為peer1
,新增的兩臺Eureka
分別叫peer2
和peer3
。
第一步
將peer2
和peer3
作為客戶端注冊到peer1
上,根據(jù)Eureka
的原理,peer1
上的注冊信息會同步到peer2
和peer3
上。但是由于購物車服務(wù)只會給peer1
發(fā)送心跳,而不會給peer2
和peer3
發(fā)送心跳信息,如果我們把Eureka
的自我保護(hù)模式關(guān)閉掉的話,剛剛同步到peer2
和peer3
上的購物車實(shí)例信息會很快被摘除掉的。
第二步
如第一步所提到的,peer2
和peer3
上的購物車實(shí)例會很快被摘除掉,因此我們還需要把peer1
也作為客戶端注冊到peer2和peer3
上。這樣,由于購物車服務(wù)會給peer1
發(fā)送心跳,因此peer1
是會保存購物車服務(wù)的實(shí)例信息的,根據(jù)Eureka
的同步原理,這份實(shí)例信息會同步到peer2
和peer3
上,并自動維護(hù)這份信息。到此,注冊中心的升級便完成了。最終效果如下:
第三步
重新部署購物車服務(wù),將購物車服務(wù)的注冊中心地址,指向高可用的注冊中心。
第四步
重新部署Eureka Client
,將其注冊中心的地址指向高可用的注冊中心。
我是按照上面的方式升級的,沒發(fā)現(xiàn)問題。有更好辦法的,歡迎在評論中留言。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
詳解mybatis foreach collection示例
這篇文章主要介紹了詳解mybatis foreach collection的相關(guān)資料,需要的朋友可以參考下2017-10-10SpringBoot整合Redis及Redis工具類撰寫實(shí)例
這篇文章主要介紹了SpringBoot整合Redis及Redis工具類撰寫實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01MyBatis?多表聯(lián)合查詢及優(yōu)化方法
大家都知道Hibernate 是全自動的數(shù)據(jù)庫持久層框架,它可以通過實(shí)體來映射數(shù)據(jù)庫,通過設(shè)置一對多、多對一、一對一、多對多的關(guān)聯(lián)來實(shí)現(xiàn)聯(lián)合查詢,接下來通過本文給大家介紹MyBatis?多表聯(lián)合查詢及優(yōu)化,需要的朋友可以參考下2022-08-08Spring Cloud Stream微服務(wù)消息框架原理及實(shí)例解析
這篇文章主要介紹了Spring Cloud Stream微服務(wù)消息框架原理及實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06SpringBoot單元測試使用@Test沒有run方法的解決方案
這篇文章主要介紹了SpringBoot單元測試使用@Test沒有run方法的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01