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生態


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM