Etcd Raft架构设计和源码剖析1:宏观架构 | Go语言充电站
序言
Etcd提供了一个样例contrib/raftexample,用来展示如何使用etcd raft。这篇文章通过raftexample介绍如何使用etcd raft。
raft服务
raftexample是一个分布式KV数据库,客户端可以向集群的节点发送写数据和读数据,以及修改集群配置的请求,它使用etcd raft保持各集群之间数据的一致性。
etcd raft
etcd raft实现了raft论文的核心,所有的IO(磁盘存储、网络通信)它都没有实现,它做了解耦。
它是一个状态机,有数据作为输入,经过当前状态和输入,得到确定性的输出,即每个节点上都是一样的。