OceanBase的multi-paxos协议是怎样优化两阶段协议为1次rpc的

OceanBase的multi-paxos协议是怎样优化两阶段协议为1次rpc的

1 个赞

可以参考下https://open.oceanbase.com/blog/1100126 文档

1 个赞


对2pc的优化,可以理解为是在这个过程中,每一次日志的rpc是一次paxos的协商过程吗,因为2pc是要求所有节点都成功的,而paxos只要求多数派成功即可,不是很明白ob是怎么把2pc和paxos结合在一起的。

1 个赞

这个图中prepare,commit和clear的这三个阶段的通信都是一次paxos共识达成的过程吗?

两阶段提交是保证分布式事务级别一致性的手段,主要关注事务如何实现“所有参与者要么都提交,要么都回退”这一目标。paxos是同步日志的协议,在2PC过程中,“持久化日志”就是将日志写到磁盘,然后再由paxos将日志同步到其他节点形成多数派,实现日志级别的分布式一致性。

图中每个阶段就是一次rpc通信,只有在“日志持久化”步骤才会用到paxos。2PC和paxos是两个东西。

3 个赞

两阶段提交和paxos的作用不一样,两阶段提交主要作用是保证分布式事务数据的一致性。而paxos协议是用于两阶段提交阶段出现节点故障时,保证多数派存在并选出主副本能够继续推进两阶段提交协议的完成,还有保证事务提交后同步日志到其他节点保证多数派。

2 个赞

其实2PC中的协调者 参与者 他们都是分区leader对吗

学习了