
# ETCD仲裁
ETCD是一种开源分布式键值库，用于共享配置和服务发现，负责保存集群的拓扑信息。它提供存储以及获取数据的接口，并通过协议保证ETCD集群中的多个节点数据的强一致性。ETCD可用于存储元信息以及共享配置信息，同时提供监听机制，允许客户端监听特定key或某些key的变更，实现变更的实时监听与推送。此外，ETCD提供key的过期以及续约机制，客户端通过定时刷新来实现续约，适用于监控与服务注册发现。ETCD 还提供原子的CAS（Compare-and-Swap）和 CAD（Compare-and-Delete）支持，支持分布式锁以及Leader选举。
ETCD作用:
1. 全局事务ID、Sequence依赖ETCD存储。
2. CMServer自身仲裁和CMServer对其他数据库组件的仲裁依赖ETCD。
3. 存储各组件的主备信息依赖ETCD。
ETCD仲裁选主：
1. ETCD自选主是基于Raft分布式一致性算法，此算法可确保集群中所有节点之间的数据存储一致性。
2. ETCD如果主节点（Leader）故障，备节点（Follower）发起投票，获得多数投票的（Candidate）升主。然后通知CMServer主已经进行升主操作，CMServer主和GTM都会去找新的ETCD主进行数据同步。
 
