答:
Raft 是一种分布式一致性算法,在Newsql代表性数据库TiDB 集群的多种组件中,PD 和TiKV 都通过Raft 实现了数据的容灾。
Raft 的灾难恢复能力通过如下机制实现:
- Raft 成员的本质是日志复制和状态机。Raft 成员之间通过复制日志来实现数据同步;Raft 成员在不同条件下切换自己的成员状态,其目标是选出leader 以提供对外服务。
- Raft 是一个表决系统,它遵循多数派协议,在一个Raft Group 中,某成员获得大多数投票,它的成员状态就会转变为leader。也就是说,当一个Raft Group 还保有大多数节点(majority) 时,它就能够选出leader以提供对外服务。
遵循Raft 可靠性的特点,放到现实场景中:
- 想克服任意1 台服务器(host) 的故障,应至少提供3 台服务器。
- 想克服任意1 个机柜(rack) 的故障,应至少提供3 个机柜。
- 想克服任意1 个数据中心(dc,又称机房)的故障,应至少提供3 个数据中心。
- 想应对任意1 个城市的灾难场景,应至少规划3 个城市用于部署。
由此可见原生Raft协议对于偶数副本的支持并不是很友好,考虑跨城网络延迟影响,或许同城三数据中心是最适合部署Raft 的高可用及容灾方案。
备注:
NewSQL 数据库TiDB 兼顾了传统关系型数据库的优良特性 + NoSQL 数据库可扩展性以及跨数据中心场景下的高可用性
详细可关注微信公众号: 数据库工作笔记 Sharing
https://mp.weixin.qq.com/s/3rxy0oeuTHM4HkxLUXeGpQ
最后修改时间:2020-11-23 22:00:21
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
给准备学习国产数据库的朋友几点建议
白鳝的洞穴
363次阅读
2025-05-07 10:06:14
AI关键场景得到全面支持!OceanBase入选Forrester报告三大领域代表厂商
OceanBase数据库
265次阅读
2025-04-19 22:27:54
分布式数据库真的是伪需求吗
白鳝的洞穴
160次阅读
2025-04-21 10:35:09
聊聊 GoldenDB 超牛的分布式数据库序列处理技术
吾亦可往
103次阅读
2025-05-08 15:53:24
全面进入AI时代|OceanBase 构建智能数据新底座
OceanBase数据库
96次阅读
2025-04-27 16:34:14
轻松上手:使用 Docker Compose 部署 TiDB 的简易指南
shunwahⓂ️
96次阅读
2025-04-27 16:19:49
智能体新基建实践:基于CAMEL-AI×OceanBase的向量数据库应用探索
OceanBase数据库
61次阅读
2025-04-25 15:56:25
APTSell x TiDB AutoFlow:AI 数字员工,助力销售业绩持续增长
PingCAP
61次阅读
2025-04-21 10:35:16
TiDB 社区第四届专栏征文大赛联合墨天轮火热开启,TiDB 业务场景实战、运维开发攻略两大赛道,重磅礼品等你来拿!
SQL数据库运维
58次阅读
2025-04-21 10:12:19
OceanBase向量数据库赋能FastGPT,激活RAG技术潜能
OceanBase数据库
56次阅读
2025-04-23 22:21:50