Apache IoTDB两种共识协议的集群容错性及特定场景可用性咨询
Apache IoTDB RatisConsensus与IoTConsensus的容错性及特定场景可用性
核心容错能力
- RatisConsensus:基于Raft共识协议实现,遵循多数派原则,最多可容忍
(n-1)/2个节点故障(n为副本数量)。只要存活节点数超过副本总数的一半,集群就能维持共识并提供服务。 - IoTConsensus:IoTDB自研的时序场景优化共识协议,同样基于多数派共识逻辑,容错能力与RatisConsensus一致,最多可容忍
(n-1)/2个节点故障。
3节点3副本、1节点故障场景的具体表现
RatisConsensus场景
当集群配置3个数据节点、副本数为3,且使用RatisConsensus时,若1个节点故障,剩余2个存活节点构成了超过副本总数一半的多数派(2/3)。此时集群依然能达成强一致共识,完全可以正常处理写入请求。强一致性的核心是保证写入的数据在多数存活节点上同步,而非必须所有节点存活才能写入。
IoTConsensus场景
IoTConsensus在该场景下的表现与RatisConsensus一致:剩余2个存活节点满足多数派要求,集群可以正常接收并处理写入请求,同时维持数据的一致性。两者的主要差异集中在时序数据写入、同步的性能优化逻辑上,基础的容错可用性规则是相同的。
内容的提问来源于stack exchange,提问作者Weicheng Pan
相关产品推荐
相关产品推荐

