数据库容灾方案(蚂蚁金服案例)——Paxos协议或者Raft协议 还有待学习

蚂蚁金服数据库容灾:https://zhuanlan.zhihu.com/p/41053049
1)数据库层面:主从复制实现容灾
从数据库通过复制技术(日志复制)将主节点的数据实时复制到从节点,从数据库正常情形下不对外提供服务,主节点故障的时候,从节点变为主节点,继续提供服务
  • 机房容灾
  • 城市级容灾
2)主机层面:实施高可用(HACMP)架构
3)存储层面:采用数据复制技术(如FlashCopy)提供数据冗余,以应对存储损坏带来的影响
 
4)主从复制缺点:
  • 故障恢复时间RTO较大
    • 因为 “主从复制”模式下从节点不具备自动切主的能力
    • 从节点如果具备自动切换,则可能误认为是主节点故障而将自己自动切换成主节点,就极容易导致“双主”、“脑裂”(brain-split)的局面
    • 所以数据库“主从复制”技术从来不会提供“从节点自动切换为主节点”的功能,一定要由“人”来确认主节点确实故障了,并手工发起从节点的切主动作,这就大大增加了系统恢复的时间(RTO)。
  • 无法做到RPO=0,主节点发生故障或者灾难的时候有交易数据损失
 
5) 分布式多副本数据一致性技术
通常是基于Paxos协议或者Raft协议来实现
  • 将数据保存在多份副本上,每一次对数据的修改操作都会强同步到多数派副本上,在保证了数据冗余的同时,不再像“主从复制”技术那样依赖某个数据节点的稳定性,从而消除了传统主从复制技术下从节点给主节点带来的风险。
  • 保证RPO=0,而且大大减小了RTO
  • 3地3机房5副本的方式,容灾是最好的,并且对分布式数据库一致性协议支持的最好(多数派的概念)
  • 城市3的灾备数据库一般不会用到的话,可以只存储log而不是完整数据,这样的话机房3的存储要求可以降低
posted @ 2020-09-04 15:43  king断雨  阅读(517)  评论(1编辑  收藏  举报