🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
> ### `etcd` * `ETCD`是用于共享配置和服务发现的分布式,一致性的`KV`存储系统。 * `ETCD`集群是一个分布式系统,由多个节点相互通信构成整体对外服务,每个节点都存储了完整的数据,并且通过Raft协议保证每个节点维护的数据是一致的。 <br/> > ### `Raft协议` * 选主,一组服务节点构成一个集群,并且有一个主节点来对外提供服务。当集群初始化,或者主节点挂掉后,面临一个选主问题。集群中每个节点,任意时刻处于`Leader`, `Follower`, `Candidate`这三个角色之一。当`Follower`在一定时间内没有收到来自主节点的心跳,会将自己角色改变为`Candidate`,并发起一次选主投票;当收到包括自己在内超过半数节点赞成后,选举成功,否则进行下一轮选举。 * 日志复制,主节点将每次操作形成日志条目,并持久化到本地磁盘,然后通过网络IO发送给其他节点。 * 安全性 <br/> > ### `ETCD`接口 * `ETCD`提供`HTTP`协议,在最新版本中支持Google gRPC方式访问。具体支持接口情况如下: * ETCD是一个高可靠的KV存储系统,支持PUT/GET/DELETE接口; * 为了支持服务注册与发现,支持WATCH接口(通过http long poll实现); * 支持KEY持有TTL属性; * CAS(compare and swap)操作; * 支持多key的事务操作; * 支持目录操作 <br/> <br/> *** 参考: [ETCD系列之一:简介](https://yq.aliyun.com/articles/11035)