多副本高可用策略的多副本之间由什么协议保证数据的一致性?

多副本高可用策略的多副本之间由什么协议保证数据的一致性?
A. Raft B. Zab C. Paxos D. PDFT

2 个赞

OceanBase数据库在多副本高可用策略中,通过 Paxos 协议(具体为优化的 Multi-Paxos)来保证多副本之间的数据一致性。

主要依据如下:

  • 多副本一致性协议:OceanBase基于Multi-Paxos实现分布式一致性协议,是高可用能力的基础。
  • Paxos 协议:明确指出使用Paxos的优化版本Multi-Paxos实现多副本同步和高可用。
  • 分布式一致性协议:说明同一日志流各副本间使用Paxos协议同步事务日志,需多数派同步成功才能提交。
  • 多副本日志同步:指出多副本之间使用Paxos协议进行日志同步,并基于此保证高可用和数据持久性。

综上所述,正确答案是:C. Paxos

2 个赞

选项分析:

  • A. Raft :Raft是一种分布式共识协议,通过领导选举和日志复制机制来保证数据一致性。它设计得比Paxos更易理解和实现,被用于etcd、Consul等系统。
  • B. Zab :Zab(ZooKeeper Atomic Broadcast)是Apache ZooKeeper中使用的共识协议,专门用于保证副本之间的数据一致性和顺序性。
  • C. Paxos :Paxos是分布式共识协议的经典算法,由Leslie Lamport提出,用于在多个节点之间达成一致。它广泛应用于Google Chubby、MySQL Group Replication等系统,是保证数据一致性的基础协议之一。
  • D. PDFT :PDFT并非标准分布式共识协议。可能是一个拼写错误或干扰项。常见的协议中并没有PDFT这个缩写,它可能被误写为PBFT(Practical Byzantine Fault Tolerance),但PBFT主要用于拜占庭容错系统,而非普通的多副本一致性场景。

对于多副本高可用策略,数据一致性的保证通常由共识协议如Paxos、Raft或Zab实现。其中,Paxos作为最早和最广泛认可的协议,常被视为此类问题的标准答案。因此,正确答案是C. Paxos

3 个赞

送分题目啊

1 个赞

good

ths

1 个赞

自己出的没出很难的

1 个赞