1. 程式人生 > 實用技巧 >nacos和apollo實現對比

nacos和apollo實現對比

文章目錄

nacos

架構

  • client -> server <- admin。
  • 服務端持久化可簡化為內建的Derby記憶體資料庫。

配置更新

  • HTTP從server長輪詢拉配置。請求延時阻塞在服務端佇列中。
  • 服務端task掃到key的更新,變更後的配置寫入響應物件,返回結果。
  • 沒有變更阻塞29.5s後(客戶端超時30s)檢查配置,檢查結果寫入響應物件,返回結果。
  • 客戶端檢查配置的md5,不一致呼叫listener通知變更事件。

概念

  • nacos配置層級和專案對應關係:

apollo

架構

配置更新

  • 服務端定期掃更新配置
    200915.apollo.server.png
    • releaseMessage實現方式:
      1. admin server寫mysql表。
      2. config server的task掃更新記錄。
  • 客戶端緩衝配置(記憶體+檔案)。
    200915.apollo.client.png
    • 推送實現方式:同nacos http長輪詢

對比

apollonacos
推送方式HTTP長輪詢HTTP長輪詢
客戶端儲存記憶體+檔案記憶體+檔案
最小部署config+admin+portal+mysqlsever+內嵌db或mysql
許可權管理複雜簡單

參考