阿里為什么使用nacos而不用zookeeper


一.注冊中心是cp模式還是cp模式

  1.數據一致性(不是硬性要求可以不一致)

  2.數據可用性是必備條件所以是注冊中心是AP模式

二.服務規模,容量和連通性

  1.zookeeper寫操作是不可水平擴展的

  2.zookeeper的ZAB協議保證每次請求都會寫日志到每個節點

  3.定期將內存數據鏡像刷新到磁盤做持久化

  4.宕機重啟后自動加載數據並恢復(但是在服務發現的場景,服務列表數據其實沒有必要做數據的持久化)

  5.zookeeper的健康檢查服務是基於TCP長連接活性探測

  6.nacos是服務提供者主動發起心跳來保活

  7.客戶端中應有針對注冊中心不可用時的容災手段,zookeeper的原生客戶端不具備這樣的能力,nocos的客戶端具備本地緩存的機制

三.結論

  1.zookeeper只支持CP模式,nacos支持兩種模式(AP可用性,CP一致性)

  2.zookeeper的事務機制和兩階段提交性能遠低於nacos

  3.nacos的服務端主動心跳機制優於zookeeper基於TCP的探活(TCP活着不一定服務活着)

  4.nacos客戶端會緩存服務列表,當注冊中心不可用時起到備災的作用,而原生的zookeeper並不具備


免責聲明!

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



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