Have we reached consensus on consensus?
本文最后更新于:2 年前
背景
分享一下前不久在 PingCAP 实习时做的有关共识算法及其应用的介绍(已经删除了部分不便公开的内容)。
这次分享主要针对 Raft 和 Paxos 做了相对详细的介绍,并从学术界和工业界的不同视角对比了他们的异同,最后也基于 TiKV 当前架构现状和其他系统的架构设计从一个 intern 的视角拍脑袋介绍了几个可能的演进方向。
回到 Raft 和 Multi Paxos 孰优孰劣这一圣战问题,可以明确的是对于普通 KV,很可能区别不大。对于结合共识和事务模块的 NewSQL 数据库,Multi-Paxos 能够在整体上为一些难点问题提供一点不一样的思路(例如增大 1PC 比例,缓解写热点问题等等),可能有更高的性能天花板。
注:本文内容仅代表个人看法。
注:以下仅为图片,可以在 此处 在线浏览 PPT 原件。
内容
参考资料
论文
- Paxos Made Simple
- Paxos Made Live - An Engineering Perspective
- Multi-Paxos: An Implementation and Evaluation
- Raft Refloated: Do We Have Consensus?
- PolarFS: An Ultra-low Latency and Failure Resilient Distributed File System for Shared Storage Cloud Database
- PaxosStore: High-availability Storage Made Practical in WeChat
- Using Paxos to Build a Scalable, Consistent, and Highly Available Datastore
- Paxos vs Raft: have we reached consensus on distributed consensus?
- On the Parallels between Paxos and Raft, and how to Port Optimizations
- SpanDB: A Fast, Cost-Effective LSM-tree Based KV Store on Hybrid Storage
博客
- 凤凰架构 Multi-Paxos
- 将 paxos 和 raft 统一为一个协议:abstract-paxos
- 可靠分布式系统-paxos 的直观解释
- Page Cache 引起的业务问题处理
- 深入了解 MySQL 主从复制的原理
- OceanBase 文档
- OceanBase 社区版 4.0 发版:一个全新的里程碑
- 【PingCAP Infra Meetup】No.151 TiDB 事务模型演进
- Paxos 和 Raft 的前世今生
- 微信 PaxosStore:深入浅出 Paxos 算法协议
- 共识算法 之 Basic Paxos
- Paxos(Multi-Paxos) 在工程实现中需要注意哪些问题?
- Implementing Replicated Logs with Paxos
- 2021 TiDB Hackathon TPC-TiKV RFC
- 2022 TiDB Hackathon FWH-TiKV RFC
Have we reached consensus on consensus?
https://tanxinyu.work/have-we-reached-consensus-on-consensus/