Etcd(1)简介

1.3 Etcd的使用场景

和ZK类似,Etcd有很多使用场景,包括:

配置管理

服务注册于发现

选主

应用调度

分布式队列

分布式锁

1.4 Etcd读写性能

按照官网给出的数据, 在2CPU,1.8G内存,SSD磁盘这样的配置下,单节点的写性能可以达到16K QPS, 而先写后读也能达到12K QPS。这个性能还是相当可观的。

1.5 Etcd工作原理

Etcd使用Raft协议来维护集群内各个节点状态的一致性。简单说,Etcd集群是一个分布式系统,由多个节点相互通信构成整体对外服务,每个节点都存储了完整的数据,并且通过Raft协议保证每个节点维护的数据是一致的。

每个Etcd节点都维护了一个状态机,并且,任意时刻至多存在一个有效的主节点。主节点处理所有来自客户端写操作,通过Raft协议保证写操作对状态机的改动会可靠的同步到其他节点。

1.6 Etcd概念词汇表

Raft:Etcd所采用的保证分布式系统强一致性的算法。

Node:一个Raft状态机实例。

Member: 一个Etcd实例。它管理着一个Node,并且可以为客户端请求提供服务。

Cluster:由多个Member构成可以协同工作的Etcd集群。

Peer:对同一个Etcd集群中另外一个Member的称呼。

Client: 向Etcd集群发送HTTP请求的客户端。

WAL:预写式日志,Etcd用于持久化存储的日志格式。

snapshot:Etcd防止WAL文件过多而设置的快照,存储Etcd数据状态。

Proxy:Etcd的一种模式,为Etcd集群提供反向代理服务。

Leader:Raft算法中通过竞选而产生的处理所有数据提交的节点。

Follower:竞选失败的节点作为Raft中的从属节点,为算法提供强一致性保证。

Candidate:当Follower超过一定时间接收不到Leader的心跳时转变为Candidate开始竞选。

Term:某个节点成为Leader到下一次竞选时间,称为一个Term。

Index:数据项编号。Raft中通过Term和Index来定位数据。

你可能感兴趣的:(Etcd(1)简介)