蚂蚁金服数据库容灾: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的存储要求可以降低