DolphinDB的高可用集群是怎么保持一致性,防止脑裂的

 我理解的分布式的架构 ,需要一个集群仲裁/管理的服务来保证集群的一致性,防止脑裂。请问DolphinDB是基于paxos或者类似的协议实现的吗?

请先 登录 后评论

1 个回答

wale

DolphinDB元数据存储在控制节点上。为了保证元数据的高可用,DolphinDB通过配置多个控制节点来组成一个Raft组。组内节点采用Raft协议实现强一致性。即DolphinDB的控制节点组采用raft协议来防止脑裂。

DolphinDB采用多副本机制,相同数据块的副本存储在不同的数据节点上。一个数据库可以包含上百万个分区,分区的多副本之间使用改良的二阶段提交协议实现分区副本的强一致性。当分区副本数为N的时候,在N-1个节点宕机的情况下,保证系统可以持续写入和读取。分区的多副本之间没有采用Raft协议,主要是考虑到海量数据场景下,分区非常多。若采用PaxosRaft等一致性算法,分区之间的通信比较复杂

请先 登录 后评论