Distributed Configuration Management System - Diamond
1. Distributed configuration management
In the distributed environment, with the continuous increase of application machines, it is necessary to manage the configuration of hundreds of service instances in a unified manner, and make them take effect in real time. At this time, the distributed configuration management service system needs to be used.
2. Diamond Architecture Diagram
HTTP Server: Stores diamond service instance list data
Diamond Server: cluster of diamond instances
Diamond Client: Application Machine
① On each diamond node, there is a full amount of data, and each instance can provide complete services to the outside world;
② When any instance data changes, the changed data will be synchronized to mysql.
Then notify other instances to pull data from mysql again;
③ The data is eventually consistent;
④ Any diamond instance will periodically pull a full amount of data from mysql;
⑤ Each piece of data has an MD5 value, according to which to judge whether the data has changed;
⑥ When the client subscribes to diamond's data, it directly returns the data stored in the local file; (reduces the pressure on mysql)
⑦ diamond stores persistent data, and the frequency of these data changes will not be very high;
⑧ The data in diamond is a simple "Key-Value structure";
Three, diamond use