这是来自Kubernetes文件的
highly-available键值存储作为Kubernetes对所有集群数据的后备存储。
库伯内特斯是否在内部有一个单独的机制来使ETCD更可用?或者说,ETCD使用的是一种修改版的筏子,允许这种超能力?
发布于 2021-12-15 11:59:08
当涉及到etcd细节时,最好使用正式文件
etcd是一个非常一致的分布式键值存储,它提供了一种可靠的方法来存储需要由分布式系统或计算机集群访问的数据。它能够优雅地处理网络分区期间的领导人选举,并且能够容忍机器故障,甚至在领导节点中也是如此。
这里没有提到这是高可用性的。关于容错问题,您将在这个主题here上找到一个非常好的段落。
只要可以建立成员仲裁,etcd群集就会运行。如果由于临时网络故障(例如分区)而丢失仲裁,则在网络恢复和恢复仲裁后,etcd自动和安全地恢复;Raft强制集群一致性。对于功率损失,etcd将Raft日志保存到磁盘;etcd将日志重放到故障点,并恢复群集参与。对于永久的硬件故障,可以通过runtime reconfiguration将节点从集群中删除。 建议在集群中有一个奇数的成员。奇数大小的集群可以容忍与相同大小的集群相同数量的故障,但节点较少。
您还可以找到关于understanding etcd的非常好的文章。
Etcd是一个强一致的系统。它为事务提供Linearizable读写和Serializable隔离。更具体地说,在PACELC定理方面,它是一个CP/EC系统,它是CAP定理中思想的推广。优化了正常情况下一致性大于延迟的一致性,以及分区情况下的一致性和可用性。
还请看这张图片:

https://stackoverflow.com/questions/70345068
复制相似问题