更多 blog 见: https://joeylichang.github.io/
- 写在前面的话
年前工作的间歇期计划学一些优秀的开源代码充充电,侧面打听到微信团队开源的Paxos源码在微信内部有大量的线上应用加之自己对Paxos之前的理解并不算深刻,所以想借着这个机会彻底搞懂它。年后回来趁着还“热乎"整理成系列文章巩固一下记忆。
为什么选择PhxPaxos作为学习Paxos的源码,这就涉及到优秀开源项目的标准。个人理解优秀的开源项目需要具备以下几点:
- 经过大量的生产环境验证。
- 高质量的文档。
- 活跃的社区。
- 高质量的代码,以及良好的代码风格。
经过大量的生产环境验证代表着源码在稳定性、可运维性、吞吐性能上得到了充分验证,很多开源的项目PR文章写得很吸引眼球但是用起来却差强人意,正是没有大规模线上运行的原因,这也是PhxPaxos最吸引我的原因,其他因素并不是选择PhxPaxos的主要因素,因此不在这里展开了。
本系列文章主要分为以下六部分进行介绍: