分布式配置管理系统 - Diamond
一、分布式配置管理
在分布式下,随着应用机器的不断增加,想要统一管理成千上百个服务实例的配置,并做到实时生效。这个时候就需要用到分布式配置管理服务系统。
二、Diamond架构图
HTTP Server: 存放diamond服务实例列表数据
Diamond Server: diamond实例集群
Diamond Client:应用机器
① 每个diamond节点上,都有全量的数据,每个实例都可以对外完整地提供服务;
② 任何一个实例数据变更时,都会将改变的数据同步到mysql上,
再通知其他实例从mysql上进行一次数据拉取;
③ 数据最终一致;
④ 任何一个diamond实例,都会定时从mysql上进行一次全量数据的拉取;
⑤ 每一份数据都有一个MD5值,根据这个值来判断数据是否发生了变化;
⑥ client订阅diamond的数据时,都是直接返回本地文件中存储的数据;(减少mysql的压力)
⑦ diamond存放的是持久数据,这些数据的变化频率不会很高;
⑧ diamond中的数据是简单的“Key-Value结构”;