1. 程式人生 > 其它 >Spring Cloud - Nacos與Eureka區別及如何選型

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

acos與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生態
相關文章