分布式系统一致性算法备注

1. 传统算法:quorum NRW, 2pc, 3pc等

2. Paxos算法

论文:《paxos made simple》, 《The Part-Time Parliament

微信已经基于paxos开发了一套组件:

phxpaxos框架源码, 租约型paxos算法实现

https://github.com/Tencent/phxpaxos

Phxsql: 基于phxpaxos框架开发的分布式sql数据库,

https://github.com/Tencent/phxsql

Phxqueue: 基于phxpaxos框架开发的分布式消息队列

https://github.com/Tencent/phxqueue

 Paxosstore,基于无租约型paxos算法实现的Nosql分布式数据存储系统,目前部分开源了算法的核心部分。

https://github.com/Tencent/paxosstore

 

paxos活锁问题

多个paxos group同时prepare,容易出现活锁问题,既一段时间内任意一台机器都不能获得大多数机器的接受。解决方法是先确定一个master,强一致选主,只有master可以prepare

 

2.  raft等算法

paxos更加容易理解容易实现,强化leader地位,限制日志id连续性,但是也会一定程度上影响性能。

 

论文:《In Search of an Understandable Consensus Algorithm (Extended Version)

 

较著名的实现有etcd, cockrouchDB,tidb, kubernetes

 

etcd源码:

 

https://github.com/etcd-io/etcd

 

goraft源码:

 

https://github.com/goraft/raft

 

转载于:https://www.cnblogs.com/coderkian/p/10077859.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值