Nacos和Eureka並存方案

Nacos和Eureka並存方案

1.背景

​ 平臺現有Spring Cloud Edgware.SR3版本,依賴Spring Boot 1.5.13.RELEASE,因Spring Cloud原生服務註冊中心(Eureka)功能較弱,需切換到Nacos上,並集成流量控制組件(Sentinel),短期內兩個註冊中心並存,遠期Nacos替換掉Eureka。

2.約束(Eureka和Nacos版本,需要實現的需求)

1.版本

Spring Cloud Version Spring Boot Version Spring Cloud Alibaba Version Nacos Client Version Sentinel Version
Edgware 1.5.X.RELEASE 1.5.1.RELEASE 1.1.4 1.7.0
Finchley 2.0.X.RELEASE 2.0.2.RELEASE 1.2.1 1.7.1
Greenwich 2.1.X.RELEASE 2.1.2.RELEASE 1.2.1 1.7.1
Hoxton 2.2.5.RELEASE 2.2.2.RELEASE 1.3.2 1.8.0

2.上線需求

  1. 兩者並存時naocs能從eureka主動讀取服務註冊列表,並刷新自身服務註冊列表。
  2. nacos允許服務直接註冊進來。
  3. 普通服務需改造,可以同時向nacos和eureka註冊。

3.落地方案預演

  1. 改造nacos,支持主動拉取eureka服務註冊列表,以心跳方式30s(可設置)拉取一次
  2. 普通服務集成nacos註冊中心,主動註冊。
  3. zuul-gateway切換到nacos上,不在讀取eureka服務註冊列表

4.預演環境

4.1. 預演方案

服務 備註
eureka-server eurkea註冊中心
nacos-server nacos註冊中心
nacos-sync eureka和nacos通信服務
a-service 模擬註冊到eureka,並驗證切換到nacos,並驗證斷掉eureka
b-service 模擬註冊到eureka和nacos上,並驗證斷掉eureka
c-service 模擬註冊到nacos上
  1. 綠色的箭頭表示已經驗證通過的功能,藍色箭頭表示驗證不通過功能

  2. zuul-gateway調用API:

    http://localhost:52001/a-service/test1 http://localhost:52002/b-service/test1 http://localhost:52003/c-service/test1

    http://localhost:51001/a-service/test1 http://localhost:51001/b-service/test1 http://localhost:51001/c-service/test1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章