暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Newsql中常提到的Raft协议是何神物
413
2页
5次
2020-11-23
免费下载
Newsql
中常提到的
Raft
协议是何神物?
答:
Raft
是一种分布式一致性算法,在
Newsql
代表性数据库
TiDB
集群的多种组件中,
PD
TiKV
都通过
Raft
实现了数据
的容灾。
Raft
的灾难恢复能力通过如下机制实现:
1. Raft
成员的本质是日志复制和状态机。
Raft
成员之间通过
复制日志来实现数据同步;
Raft
成员在不同条件下切换自己的
成员状态,其目标是选出
leader
以提供对外服务。
2. Raft
是一个表决系统,它遵循多数派协议,在一个
Raft
Group
中,某成员获得大多数投票,它的成员状态就会转变为
leader
。也就是说,当一个
Raft Group
还保有大多数节点
(majority)
时,它就能够选出
leader
以提供对外服务。
遵循
Raft
可靠性的特点,放到现实场景中:
1.
想克服任意
1
台服务器
(host)
的故障,应至少提供
3
台服
务器。
2.
想克服任意
1
个机柜
(rack)
的故障,应至少提供
3
个机柜。
3.
想克服任意
1
个数据中心(
dc
,又称机房)的故障,应至少
提供
3
个数据中心。
4.
想应对任意
1
个城市的灾难场景,应至少规划
3
个城市用于
部署。
由此可见原生
Raft
协议对于偶数副本的支持并不是很友
好,考虑跨城网络延迟影响,或许同城三数据中心是最适合部
Raft
的高可用及容灾方案。
备注:
NewSQL
数据库
TiDB
兼顾了传统关系型数据库的优良特性
+ NoSQL
数据库可扩展
性以及跨数据中心场景下的高可用性
of 2
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。