ETCD原理详细解析( 五 )


所以要变更自身集群节点数量实际上也需要像用户数据变更那样添加数据条目到Raft状态机中 。这一切由n.(ctx, cc)实现 。
当集群配置信息变更的请求同样得到大多数节点的确认反馈后,再进行配置变更的正式操作,代码如下 。
var cc .
cc.(data)
n.(cc)
注意:一个ID唯一性的表示了一个集群,所以为了避免不同etcd集群消息混乱,ID需要确保唯一性,不能重复使用旧的token数据作为ID 。
8 Store
Store这个模块顾名思义,就像一个商店把etcd已经准备好的各项底层支持加工起来,为用户提供五花八门的API支持,处理用户的各项请求 。
要理解Store,只需要从etcd的API入手即可 。打开etcd的API列表,我们可以看到有如下API是对etcd存储的键值进行的操作,亦即Store提供的内容 。
API中提到的目录()和键(Key),上文中也可能称为etcd节点(Node) 。
10