1.1 什么是ETCD?
简单:
易使用:基于HTTP+JSON的API让你用curl就可以轻松使用;
易部署:使用Go语言编写,跨平台,部署和维护简单。
可靠:
强一致:使用Raft算法充分保证了分布式系统数据的强一致性;
高可用:具有容错能力,假设集群有n个节点,当有(n-1)/2节点发送故障,依然能提供服务;
持久化:数据更新后,会通过WAL格式数据持久化到磁盘,支持Snapshot快照。
快速:每个实例每秒支持一千次写操作,极限写性能可达10K QPS。
安全:可选SSL客户认证机制。
HTTP Server:用于处理用户发送的API请求以及其它etcd节点的同步与心跳信息请求。
Store:用于处理etcd支持的各类功能的事务,包括数据索引、节点状态变更、监控与反馈、事件处理与执行等等,是etcd对用户提供的大多数API功能的具体实现。
Raft:Raft强一致性算法的具体实现,是etcd的核心。
WAL:Write Ahead Log(预写式日志),是etcd的数据存储方式。除了在内存中存有所有数据的状态以及节点的索引以外,etcd就通过WAL进行持久化存储。WAL中,所有的数据提交前都会事先记录日志。Snapshot是为了防止数据过多而进行的状态快照;Entry表示存储的具体日志内容。

文章转载自楼仔进阶之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




