首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个高可用性的系统是如何实现的,即使它使用的是CP算法Raft?

一个高可用性的系统是如何实现的,即使它使用的是CP算法Raft?
EN

Stack Overflow用户
提问于 2021-12-14 07:19:28
回答 1查看 548关注 0票数 3

这是来自Kubernetes文件

highly-available键值存储作为Kubernetes对所有集群数据的后备存储。

库伯内特斯是否在内部有一个单独的机制来使ETCD更可用?或者说,ETCD使用的是一种修改版的筏子,允许这种超能力?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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定理中思想的推广。优化了正常情况下一致性大于延迟的一致性,以及分区情况下的一致性和可用性。

还请看这张图片:

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70345068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档