course/etcd/etcd.log

42 lines
1.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

etcd 可用于配置共享和服务发现
特点:
1.完全复制:集群中的每个节点都可以使用完整的存档
2.高可用性etcd可用于避免硬件单点故障或网络问题
3.一致性: 每次读取都会返回跨多主机的最新写入
4.简单包括一个定义良好面向用户的APIgrpc
5.安全实现了带有可选的客户端证书身份验证的自动化TLS
6.快速每秒10000次写入的基准速度
7.可靠使用Raft算法实现了强一致高可用的服务存储目录
###本周任务:
1.Raft协议
1.选举
2.日志复制机制
3.异常处理(脑裂)
4.zookeeper的zad协议的区别
etcd的应用场景
1.服务发现:
在同一个分布式集群中的进程或者服务,如何找到对方并建立连接(注册中心)
2.配置中心
应用在启动的时候主动从etcd获取一次配置信息同时在etcd节点上注册一个watcher并等待以后每次配置有更新的时候etcd都会实时通知订阅者
以此达到获取最新配置信息的目的(热加载)
3.分布式锁
1.所有获取锁的用户只有最终一个可以得到
2.控制时序,所有想要获得锁的用户都会被安排执行
etcd的架构分为4个部分
1.HTTP server
用于处理用户发送的API请求及与其他节点的etcd同步与心跳请求
2.store
用于处理etcd的各类功能的事务包括数据索引节点状态变更监控与反馈事件处理与执行等等是etcd对用户提供的大多数API功能的具体实现
3.Raft
Raft强一致性算法的具体实现是etcd的核心
4.WAL
write ahead log 预写式日志是etcd的数据存储方式。除了在内存中存有所有数据的状态以及节点的索引外。etcd就
通过WAL进行持久化存储WAL中所有的数据提交前都会事先记录日志snapshot就是为了防止数据过多而进行的状态快照
entry表示存储的具体日志内容