温州建设集团官方网站,搜索引擎营销的概念及特点,wordpress报名功能,做购物网站开发价格一、ETCD简介
ETCD是一个高度可用的分布式键值存储系统#xff0c;主要用于共享配置和服务发现。它基于Go语言实现#xff0c;内部使用Raft一致性算法处理日志复制#xff0c;保证多节点数据的强一致性。
ETCD的目标是构建一个高可用的分布式键值数据库#xff0c;用于存…一、ETCD简介
ETCD是一个高度可用的分布式键值存储系统主要用于共享配置和服务发现。它基于Go语言实现内部使用Raft一致性算法处理日志复制保证多节点数据的强一致性。
ETCD的目标是构建一个高可用的分布式键值数据库用于存储配置信息和服务发现。在分布式系统中各种服务配置信息的管理共享和服务发现是一个基本且重要的问题。ETCD可以集中管理这些配置信息服务端将配置信息存储于ETCD客户端通过ETCD获取服务配置信息。此外ETCD还提供了监听机制客户端可以监听某个key或某些key的变更当配置信息发生改变时ETCD会通知客户端。
ETCD的特性包括完全复制集群中的每个节点都可以使用完整的存档、高可用性可用于避免硬件的单点故障或网络问题、一致性每次读取都会返回跨多主机的最新写入、简单有一个定义良好、面向用户的API、安全实现了带可选的客户端证书身份验证的自动化TLS、快速每秒10000次写入的基准速度和可靠使用Raft算法实现了存储的合理分布。 二、ETCD节点的角色
Leader领导者Leader节点在集群中有且仅能有一个负责向所有的Follower节点同步日志数据。同时Leader节点还负责处理客户端的写请求并在与Follower节点之间定期发送心跳包以检测节点的存活状态。Follower跟随者Follower节点从Leader节点获取日志提供数据查询功能并将所有修改请求转发给Leader节点。Follower节点在集群初始化时处于此状态并等待Leader发送心跳。如果一定时间内未收到心跳Follower会转变为Candidate状态并发起选举请求。Candidate候选人当Leader节点不存在或失联时Follower节点会转变为Candidate状态开始新的Leader节点选举。Candidate节点会向其他节点发送选举请求并等待其他节点的回复。如果收到包括自己在内超过半数节点的赞成选举成功该Candidate节点会成为新的Leader否则选举失败Candidate节点会等待一段时间后再次发起选举或转为Follower状态。 三、ETCD选主
在ETCD集群中节点或称为成员的数量对于其选主leader election过程和集群的可用性有着重要的影响。
ETCD集群的选主过程基于Raft一致性算法该算法要求集群中至少有一半加一N/2 1的节点是可用的以便能够达成共识并进行正常的操作。
假设你有一个由5个节点组成的ETCD集群并且挂了3个节点那么集群中剩余的节点数量是2。由于2小于5/2 1即3这意味着集群中的可用节点数量不足以进行正常的选主和达成共识。因此在这种情况下集群将无法选出新的主节点并且可能会进入不可用状态。
为了恢复集群的正常功能你需要修复或替换挂掉的节点使集群中的可用节点数量至少达到3个。这样集群才能重新进行选主并恢复服务。
总之如果一个由5个节点组成的ETCD集群中挂了3个节点那么集群将无法选出新的主节点并且可能会变得不可用。为了解决这个问题你需要确保集群中至少有3个节点是可用的。