nacos與eureka均提供注冊中心和服務治理功能,以下為兩者差異和選型方案。
<col>
子產品
nacos
eureka
說明
注冊中心
是
服務治理基本功能,負責服務中心化注冊
配置中心
否
eureka需要配合config實作配置中心,且不提供管理界面
動态重新整理
eureka需要配合mq實作配置動态重新整理,nacos采用netty保持tcp長連接配接實時推送
可用區az
對服務叢集劃分不同區域,實作區域隔離,并提供容災自動切換
分組
nacos可用根據業務和環境進行分組管理
中繼資料
提供服務标簽資料,例如環境或服務辨別
權重
nacos預設提供權重設定功能,調整承載流量壓力
健康檢查
nacos支援由用戶端或服務端發起的健康檢查,eureka是由用戶端發起心跳
負載均衡
均提供負責均衡政策,eureka采用ribion
管理界面
nacos支援對服務線上管理,eureka隻是預覽服務狀态
mysql
nacos需要采用mysql進行資料進行持久化
mq
eureka需要采用mq進行配置中心重新整理
eureka結合config或者consul實作配置中心
配置檔案
線上編輯
本地檔案或者git遠端檔案
eureka結合config或者consul
叢集
nacos需要配置叢集ip再啟動
版本
1.0.0
1.9.9
eureka2.0已停止開發,nacos處于2.0開發
廠商
阿裡巴巴
netflix
netflix已長期用于生産,阿裡剛起步
生産建議
nacos0.8以前不可用于生産,建議生産采用nacos1.4,便于節省配置中心叢集和服務管理
未來發展
nacos 2.0主要關注在統一服務管理、服務共享及服務治理體系的開放的服務平台的建設
采用eureka方案的考慮
想用spring cloud原生全家桶
想用本地檔案和git作為配置管理的,将配置與服務分開管理
考慮短期的穩定性
項目比較老,難裝換
采用nacos方案的考慮(優先)
想線上對服務進行上下線和流量管理
不想采用mq實作配置中心動态重新整理
新增配置中心生産叢集
考慮引入spring cloud alibaba生态
可視化更清晰
功能直接包括netflix的eureka、config、bus
随着大趨所緻,阿裡巴巴的nacos功能強大,可視化更好,推薦使用!!!