分布式数据库 30 讲
王磊
光大银行首席数据架构师
29144 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 34 讲
结束语 (1讲)
分布式数据库 30 讲
15
15
1.0x
00:00/00:00
登录|注册

24 | 全球化部署:如何打造近在咫尺且永不宕机的数据库?

Raft协议降级处理的设计
异地机房提供全服务
提升系统可用性
降级处理
三地五副本
两地三中心五副本
双向同步
异地读写分离
异地容灾
难点在于数据库的多活
应用和数据库
思考题
异地多活的意义
Raft协议
分布式数据库的部署方式
单体数据库的异地多活
异地多活
全球化部署

该思维导图由 AI 生成,仅供参考

你好,我是王磊,你也可以叫我 Ivan。
这一讲我们要聊的是“全球化部署”,其实这个词在我们的课程中已经出现很多次了。我猜说不定你心里一直有个问号:“全球化啊,这么高大上的东西和我有关系吗?”耐心看完这一讲,我相信你会有新的理解。
我们不妨给全球化部署起一个更接地气的小名,“异地多活”。怎么样,感觉亲切多了吧?全球化部署本质就是全球范围下的异地多活。总体上看,异地多活的直接目标是要预防区域级的灾难事件,比如城市级的断电,或是地震、洪水等自然灾害。也就是说,在这些灾难发生时,要让系统还能保障关键业务的持续开展。
因此,这里的“异地”通常是指除同城机房外,在距离较远的城市配备的独立机房,在物理距离上跳出区域级灾难的覆盖范围。这个区域有多大呢?从银行业的实践来看,两地机房的布局通常会部署在南北或者东西两个大区,比如深圳到上海,或者北京到武汉,又或者北京到西安,距离一般会超过 1000 公里。
对于银行业的异地机房建设,监管机构是有具体要求的,也就是大中型银行的“两地三中心”布局。而对于互联网行业来说,虽然没有政策性要求,但业务本身的高可用需求,也推动了头部公司进行相应的布局。
说完了“异地”这个概念,我们再来看异地多活是怎么回事。首先,异地多活是高可用架构的一种实现方式,它是以整个应用系统为单位,一般来说会分为应用和数据库两部分。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了全球化部署在数据库架构中的应用及其技术特点。全球化部署旨在构建近在咫尺且永不宕机的数据库系统,以确保关键业务的持续开展。文章讨论了单体数据库中的异地容灾、异地读写分离和双向同步等模式,以及它们在应对灾难和提高可用性方面的局限性。分布式数据库方面讨论了机房级容灾和城市级容灾模式,以及它们在容灾能力和延迟之间的权衡。全球化部署的关键在于多时间源、多点授时,使得数据库服务可以靠近用户,实现高可用和低延迟。异地多活的终极目标是让异地机房提供全服务,包括读写服务,以提升资源利用率和确保设备处于可运行状态。文章还探讨了对恶意攻击的应对策略和优化可能性。总体而言,全球化部署旨在通过多时间源、多点授时的方式,构建近在咫尺且永不宕机的数据库系统,以确保关键业务的持续开展。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式数据库 30 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(8)

  • 最新
  • 精选
  • piboye
    真正的全球架构,比异地多活更难吧,美国和中国的时间延迟比上海和深圳的延迟大了10倍吧?

    作者回复: 在我看来,异地多活的难点,是如何合理的调度数据,因为应用通常有很明显的局部性。地理位置带来的绝对通讯延迟并不是最大的障碍,当然它是一个约束,决定了天花板位置,但在此之前,我们能做的还很多。

    2020-10-02
    4
  • 请教一下老师,单元化部署这种方式是不是值得推崇,我看蚂蚁和饿了么都是这么搞的

    作者回复: 单元化部署是一种流行的架构风格,肯定值得深入学习。我在专栏中,从扩展系统容量的角度出发,更推荐分布式数据库,好处是能降低系统架构的复杂性。但这并不代表,任何情况下分布式数据库都是最佳选择,还是要结合业务场景和实施能力具体分析。

    2020-11-05
    3
  • piboye
    raft的降级是要人工运维干预吧?灾难恢复后的数据恢复,要根据业务来处理,写和删除冲突选择写,礼物和金币这类资产类的优先损失公司的,没办法抉择的供用户选择,如果遇到实在没办法恢复的,业务发礼品补偿。

    作者回复: 真正有意义的降级还是要靠自动化来完成

    2020-10-02
    2
    1
  • 野焚,雪祭
    业务退后一小步,技术就不用这么复杂了。还是业务层面都单元化了最好了——也符合那个原则——能不用分布式就不用分布式。手动狗头
    2023-03-23归属地:广东
    1
  • 橙子橙
    自动化降级: 动态的update raft的配置? 在append拿不到多数节点的ack时判断请求和相应的机房分布情况, 如果在同一机房中至少还有一个节点存活, 将该raft集群由5节点降级为3节点, 这样包括自己的同机房2节点继续提供服务? (完全猜测..)
    2020-11-16
    1
    1
  • 莫问天涯
    Raft降级,如何在恢复的时候保障数据一致呢
    2022-02-03
  • piboye
    老师,raft降级可以具体讲吗?网上找不到资料,是那种矩阵方式的非多数派quorum吗?
    2020-11-03
  • 游弋云端
    多点授时,多时间源如何保障时间的一致性?
    2020-10-21
    1
收起评论
显示
设置
留言
8
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部