Horizontal comparison of configuration management service diamond and disconf

Diamond is an implementation of a distributed configuration management service open sourced by Taobao

Disconf is a distributed configuration management platform from Baidu, which is being used by well-known Internet companies such as Baidu, Didi Chuxing, UnionPay, NetEase, Lagou.com, Suning Tesco, and SF Express!

Compare items diamond disconf
configuration storage stored on mysql stored on mysql
Push-pull model Pull the model, pull the full data every 15s Push model based on Zookeeper, real-time push
Configure read and write Support instance to read and write configuration. Support an instance to write configuration data and broadcast it to other instances Only instance-to-configuration read is supported. Broadcast to all application instances by updating the configuration on disconf-web
disaster recovery Multi-level disaster recovery mode, the configuration data will be dumped locally to avoid being unavailable when the central service is down.   Multi-level disaster recovery mode, read local configuration files first
Configure the
data model
Only supports data in KV structure, not in configuration file mode Support traditional configuration file mode (configuration file), also supports KV structure data (configuration item)
Features The address server is required, the client connects to the address server, and retrieves the address list of the diamond server 1. Persistently manage the configuration and provide restful connections to the outside world.
2. Annotated programming requires Spring programming environment
. 3. Support configuration upload and download
.
Cluster
data synchronization
Based on the database and local files
1. When the server writes data, the data is first written to mysql, and then to the local file
. 2. When the client subscribes to the data, it accesses the local file and does not query the database. Affect the client's subscription
3. Perceive data changes by comparing the MD5 values ​​of the client and server data
Real-time push of global distributed consistency lock for configuration changes based on zookeeper
to achieve unified deployment of active and standby, and automatic switching of active and standby when the system is abnormal
advantage Simple, reliable and easy to use Real-time push based on distributed Zookeeper is better than diamond in terms of stability, effectiveness and ease of use
shortcoming 1. No access modification permission control
2. There is a lack of functionality for the service registration discovery based on SOA architecture that may be done in the future
There are many source codes, and it is relatively complicated to read and use
Use Cases The configuration of most of Taobao's internal systems is managed by diamond. Including Baidu, Didi Chuxing, UnionPay, NetEase, Lagou.com, Suning Tesco, SF Technology and other well-known Internet companies are using it!

Other open source configuration management middleware

 

name characteristic
Xdiamond 1. Based on the database for configuration storage
2. Compared with diamond, the permission design is added, combined with the Secret key to ensure the security of the
configuration 3. The configuration is cached locally to prevent the application from being unable to start due to network problems
Qconf 1. The internal distributed configuration management tool of Qihoo 360
2. Written in C/C++, supporting languages ​​such as c/c++, shell, php, python, etc.
3. Using Zookeeper for cluster management
4. In the case of multiple processes, the QPS can reach 100 Ten thousand
etcd 1. Written in Go language and process log replication through Raft consensus algorithm to ensure strong consistency

 

https://github.com/knightliao/disconf

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326944175&siteId=291194637
Recommended