ETCD
Etcd:
kv存储数据库,用于共享配置和服务发现。支持内存和持久化存储,存储方式类似于目录结构,数据存储于叶子节点,
raft算法:保证了多个节点的数据强一致性。
leader:处理客户端的所有交互和日志复制,只有一个leader。
follower:重定向请求到leader,响应leader的日志复制请求。
candidate: 负责投票选举,leader down机,定时最先结束的follow节点转换为candidate,向其他follow发起投票,成功转换为leader。
应用:
分布式锁:多个节点同时创建同一个目录,成功的获得锁。raft算法保证了多个节点的数据一致性。
服务发现和注册:强一致性和高可用的服务存储目录,在指定的主题下注册的服务也能在指定的主题下找到。
消息订阅和发布:构建一个配置共享中心,数据提供者在这个配置中心发布消息,而消息使用者则订阅他们关心的主题,一旦主题有消息发布,就会实时通知订阅者。通过这种方式可以做到分布式系统配置的集中式管理与动态更新。