详解 Paxos 分布式一致性协议,从零实现分布式日志同步复制(Replicated Logs)

写在前面

在团队担任消息队列服务相关开发中,考虑到RocketMQ broker没有实现自动选主和消息同步机制,于是本着兴趣想着尝试实现一下(这简直是给自己挖了一个大坑呀!~),这必然要用到分布式一致性协议。谈到分布式一致性协议,自然会想到Paxos、Raft、Zab等。

我大概前后研究了大半个月的paxos。撸了两篇lamport大大的论文(整理了两篇译文,想要看的可以关注公众号《架构随笔》获取),写了三篇公众号文章。总体对paxos有了一个比较深的认识。回想起来,这中间花费了很多的精力,特别是在读lamport大大那枯燥的论文时。为了给paxos一个完整的交代,我决定创建了一个GitChat专栏,我会带着大家深入分析paxos,详细介绍怎么基于paxos实现一个分布式日志复制同步机制。

在我看来分布式一致性算法是多么的beautiful,interesting。网上的很多资料都是囫囵吞枣,讲的不明不白,《从paxos到zookeeper,分布式一致性原理与实战》这本书讲解paxos的部分,也是基于lamport的论文翻译过来的,也只是讲的理论,并不涉及实现。理论和实现差的可不是一点点。

分布式一致性算法,特别是Paxos,也许太过于难于理解吧,显得有些冷门,但是它真的很重要。

所以我就打算写这么一篇让你不仅能读懂paxos,也学会运用它的专栏。

这是我第一次写作,有写的不好的地方,还望大家批评指正,谢谢大家支持我。

专栏简介

Paxos 几乎成为了分布式一致性协议的代名词,此次Chat将带你一步一步,详尽的了解 Paxos 分布式一致性协议的原理,从零学习分布式一致性算法。

首先会讲解基本的 Basic Paxos,然后更进一步重点讲解 Multi Paxos,并详细的分析可能存在的问题,对这些问题进行优化,逐步形成一个可用的 Paxos 算法体系。

在讲解过程中,为了更形象化,会基于日志的复制同步(Replicated Logs)为场景展开。最后就是将上面所讲述的理论变为实现,带你从零实现分布式日志复制同步。如果这门课程能够得到大家的认可,后面我会继续写 Raft,Zab。一起努力吧!

专栏主要围绕PPT展开,PPT下载链接:https://yun.wps.cn/view/l/twohs8s
(密码:8b11de),如果看不懂,可以订阅该专栏哦!~里面会有详细的解释。

本场 Chat 主要分为两大模块:

一、Paxos算法原理与问题分析。

以日志的复制同步(Replicated Logs)为场景展开,讲述 Paxos 算法的原理。通过分析算法的每一个点,带着大家去思考,不断的去完善这一算法。

二、Paxos算法实现概述。

这里是对 Paxos 如何去实现的概述,总结并整理 Paxos 算法中 Proposer、Acceptor 角色的状态属性,以及 Leader 选举、Prepare、Accept、Success 阶段的具体流程。

本场 Chat 主要内容:

  1. Basic Paxos 详解;

  2. Multi Paxos 详解;

  3. Multi Paxos 问题与优化;

  4. 客户端协议;

  5. 配置更改;

  6. Paxos 算法概述;

  7. 算法实践。

已有79人预订,你还在等什么?绝对让你读懂Paxos,从此不再说Paxos是最难懂的算法之一。

 

详解 Paxos 分布式一致性协议,从零实现分布式日志同步复制(Replicated Logs)_第1张图片 扫码查看

 

你可能感兴趣的:(分布式一致性协议)