码迷,mamicode.com
首页 > 其他好文 > 详细

比较下OceanBase的选举协议和Raft的选举协议的区别

时间:2014-07-22 22:37:15      阅读:383      评论:0      收藏:0      [点我收藏+]

标签:http   使用   数据   io   for   re   

阿里技术大讲堂OceanBase专场中曾有专门一场讲座介绍OB自己实现的分布式选举算法:《分布式选举-破解数据库高可用性难题》

 

这里简单列一下这个选举算法和raft论文中提到的选举算法的区别。

如下都是以OB的立场说的:

1)OB使用的选举算法,选举开始点靠timer对齐,保证网络中的参与者都是“同时”发起选举的;而Raft是一个非同步发起的选举,往往是先开始选举的candidate赢得选举;

2)OB选举算法有一个预投票阶段,可以保证根据特定业务逻辑选主;Raft无法实现特定选主;

3)OB每个选举周期内的投票不持久化,通过实例启动后第一个lease周期内不投票的方式,保证任何一个实例在一个lease周期内都不会重复投票;而Raft每轮的投票是持久化的;

4)OB由于选举起始点需要靠timer对齐,因此对机房的时钟误差有要求;基本假设是最大偏差不超过100ms;Raft论文中明确提出其对timing无依赖;

5)OB允许有主状态下根据指令进行改选,便于运维;

 

感觉最主要的区别就是如上几点。

比较下OceanBase的选举协议和Raft的选举协议的区别,布布扣,bubuko.com

比较下OceanBase的选举协议和Raft的选举协议的区别

标签:http   使用   数据   io   for   re   

原文地址:http://www.cnblogs.com/liuhao/p/3860742.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!