1. 程式人生 > >線上單臺Eureka升級到3臺Eureka高可用

線上單臺Eureka升級到3臺Eureka高可用

概述

由於前段時間,公司業務發展快,接了太多的業務需求了,沒有時間把Eureka搞成高可用的,先用一臺Eureka應付。當時由於流量還不大,不會出現問題。但是最近一個月,流量逐漸增大,老闆擔心萬一單臺Eureka掛了,服務會用不了。讓我趕緊升級成3臺Eureka,並兩兩註冊,做到高可用。下面就把升級的過程說一下。

未升級前

在這裡插入圖片描述

單臺Eureka上,只有購物車這個服務提供方,共兩臺。

升級步驟

為了描述的方便,線上已經存在的Eureka稱之為peer1,新增的兩臺Eureka分別叫peer2peer3

第一步

peer2peer3作為客戶端註冊到peer1上,根據Eureka的原理,peer1

上的註冊資訊會同步到peer2peer3上。但是由於購物車服務只會給peer1傳送心跳,而不會給peer2peer3傳送心跳資訊,如果我們把Eureka的自我保護模式關閉掉的話,剛剛同步到peer2peer3上的購物車例項資訊會很快被摘除掉的。

第二步

如第一步所提到的,peer2peer3上的購物車例項會很快被摘除掉,因此我們還需要把peer1也作為客戶端註冊到peer2peer3上。這樣,由於購物車服務會給peer1傳送心跳,因此peer1是會儲存購物車服務的例項資訊的,根據Eureka的同步原理,這份例項資訊會同步到peer2peer3上,並自動維護這份資訊。到此,註冊中心的升級便完成了。最終效果如下:

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

第三步

重新部署購物車服務,將購物車服務的註冊中心地址,指向高可用的註冊中心。

第四步

重新部署Eureka Client,將其註冊中心的地址指向高可用的註冊中心。

總結

我是按照上面的方式升級的,沒發現問題。有更好的辦法的,歡迎在評論中留言。