Spring Cloud - Nacos與Eureka區別及如何選型

Nacos與Eureka均提供註冊中心和服務治理功能,以下爲兩者差異和選型方案。

功能差異

模塊 Nacos Eureka 說明
註冊中心 服務治理基本功能,負責服務中心化註冊
配置中心 Eureka需要配合Config實現配置中心,且不提供管理界面
動態刷新 Eureka需要配合MQ實現配置動態刷新,Nacos採用Netty保持TCP長連接實時推送
可用區AZ 對服務集羣劃分不同區域,實現區域隔離,並提供容災自動切換
分組 Nacos可用根據業務和環境進行分組管理
元數據 提供服務標籤數據,例如環境或服務標識
權重 Nacos默認提供權重設置功能,調整承載流量壓力
健康檢查 Nacos支持由客戶端或服務端發起的健康檢查,Eureka是由客戶端發起心跳
負載均衡 均提供負責均衡策略,Eureka採用Ribion
管理界面 Nacos支持對服務在線管理,Eureka只是預覽服務狀態

部署安裝

模塊 Nacos Eureka 說明
MySql Nacos需要採用MySql進行數據進行持久化
MQ Eureka需要採用MQ進行配置中心刷新
配置中心 Eureka結合Config或者Consul實現配置中心
配置文件 在線編輯 本地文件或者Git遠程文件 Eureka結合Config或者Consul
集羣 Nacos需要配置集羣ip再啓動

穩定及擴展性

模塊 Nacos Eureka 說明
版本 1.0.0 1.9.9 Eureka2.0已停止開發,Nacos處於1.x-2.0開發
廠商 阿里巴巴 Netflix Netflix已長期用於生產,阿里剛起步
生產建議 Nacos0.8以前不可用於生產,建議生產採用Nacos1.0,便於節省配置中心集羣和服務管理
未來發展 Nacos 2.0主要關注在統一服務管理、服務共享及服務治理體系的開放的服務平臺的建設

選型建議

採用Eureka方案的考慮

  • 想用Spring Cloud原生全家桶
  • 想用本地文件和Git作爲配置管理的,將配置與服務分開管理
  • 考慮短期的穩定性

採用Nacos方案的考慮

  • 想在線對服務進行上下線和流量管理
  • 不想採用MQ實現配置中心動態刷新
  • 不想新增配置中心生產集羣
  • 考慮引入Spring Cloud Alibaba生態
相關文章
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章