1978年5月11日,《光明日报》发表本报特约评论员文章《实践是检验真理的唯一标准》,由此引发了一场关于真理标准问题的大讨论。
在各个平台,以并发笔记的ID分享过很多关于共识算法的内容了,所以接下来我准备分享Paxos的实战内容,如何基于Paxos设计一个分布式系统。
当然,这篇文章最主要的目的是:希望有更多感兴趣的小伙伴参与到这个项目来,我们可以一起讨论如何优化Paxos。
Klein介绍
1. 介绍
Klein是一个基于Paxos分布式共识类库,我使用它实现了KV存储、缓存。
项目地址:https://github.com/shihuili1218/klein
你可以独立部署Klein,像使用Redis一样使用它;但是仅仅是这样的话,也太没有新意了,它有趣的地方在于:Klein可以内嵌入你的项目中,你可以不依赖任何中间件,保证各个成员之间的数据一致。
基于此,你可以有无限多的想法,例如用Klein来实现KV存储,或者用它来实现分布式缓存,甚至用它来实现分布式锁,etc anything.
2. 玩点不一样的
众所周知,Paxos是存在一些局限的,诸如活锁、RPC交互次数过多,这使得Paxos让人望而却步。尽管对于这些问题,已经有了标准的解决方案,但是不玩些花样,造什么轮子呢?
3. 愿景
愿景呢,当然是希望维护一个标准的共识类库,开箱即用。
同时希望可以进入Apache孵化器。
进度
1. Paxos
2. 缓存
3. 待优化