ETCD
it's a distribution of etc

所以Etcd 是一种分布式 KV 存储中间件。
架构:

- HTTP Server: 用于处理用户发送的API请求以及其它etcd节点的同步与心跳信息请求。
- Store:用于处理etcd支持的各类功能的事务,包括数据索引、节点状态变更、监控与反馈、事件处理与执行等等,是etcd对用户提供的大多数API功能的具体实现。
- Raft:Raft强一致性算法的具体实现,是etcd的核心。
- WAL:Write Ahead Log(预写式日志),是etcd的数据存储方式。除了在内存中存有所有数据的状态以及节点的索引以外,etcd就通过WAL进行持久化存储。WAL中,所有的数据提交前都会事先记录日志。Snapshot是为了防止数据过多而进行的状态快照;Entry表示存储的具体日志内容。
使用场景
- 参考架构文档
ETCD Watcher
- etcdctl watch stock --prefix
- etcdctl put stock alibaba
- etcdctl put stock1 ibm
Failover and Recovery
MySQL
