本文對比分析了幾款主流的應用配置類產品。
遷移到MSE Nacos
ACM進入下線狀態,所有配置管理相關的需求由MSE中的Nacos承接(ACM獨享版,更好的安全和穩定性)。您需要在ACM控制臺導出配置,然后在MSE控制臺導入之前導出的配置即可完成遷移。具體操作,請參見將應用配置從ACM遷移到MSE Nacos。
相似產品簡介
-
ZooKeeper
ZooKeeper 是一個分布式應用程序協調服務,是 Google Chubby 的開源實現。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括配置維護、域名服務、分布式同步、組服務等。在 Hadoop 集群等場景下,ZooKeeper 同時充當應用配置管理的角色。但是由于它是 CP(Consistency,Partition Tolerance) 類應用,因此在可用性和性能上都會受到一定影響。
-
etcd
和 ZooKeeper 類似,etcd 是一個高可用的鍵值存儲系統,主要用于配置共享和服務發現。ETCD 是由 CoreOS 開發并維護的,靈感來自于 ZooKeeper 和 Doozer。它使用 Go 語言編寫,并通過 Raft 一致性算法處理日志復制以保證強一致性。etcd 和 ZooKeeper 類似,同樣可以用來做應用管理配置。但是由于它是強一致的管理類應用,因此其可用性和性能在某些場景會受到一定影響。
-
Spring Cloud Config Server
和 ACM 類似,Spring Cloud Config Server 為服務端和客戶端提供了分布式系統的外部配置支持。配置服務器為各應用的所有環境提供了一個中心化的外部配置。與 ACM 不同的是,Spring Cloud 配置服務器默認采用 Git 來存儲配置信息,其配置存儲、版本管理、發布等功能都基于 Git 或其他外圍系統來實現。除此之外,在配置功能方面,ACM 和 Spring Cloud Config 也有很大不同。
產品對比
以下表格詳細描述了 ACM 與 etcd、ZooKeeper 和 Spring Cloud Config 在應用配置管理方面的區別。
產品 | ACM | Spring Cloud Config Server | ZooKeeper | ETCD |
---|---|---|---|---|
配置修改 | 直接在 ACM 控制臺上進行配置修改 | 一般在 Git 倉庫上進行配置修改 | 通過調用 ZK API 修改 | 通過調用 etcd API 修改 |
配置自動推送 | 修改過的配置自動推送到監聽的客戶端 | 客戶端只能在啟動的時候加載 | 修改過的配置自動推送到監聽的客戶端 | 修改過的配置自動推送到監聽的客戶端 |
API接口 | 基于 RESTful API,同時支持 Java Native 接口,Spring Cloud 接口,和其他語言類接口 | 基于 RESTful API 和 Spring Cloud 規范,同時也支持其他語言客戶端 | 支持 Java 原生接口 | 基于 RESTful API 的接口 |
版本管理 | 在 ACM 上自動記錄各個修改的版本信息 | 通過 Git 間接管理版本 | 不帶任何版本控制 | 不帶任何版本控制 |
配置推送追蹤 | 可查詢所有客戶端配置推送狀態和軌跡 | 無法查詢配置推送歷史 | 無法查詢配置推送歷史 | 無法查詢配置推送歷史 |