只有分布式数据库才能做到真正的多地多活。
浙江网商银行写的《金融级IT架构》,里面描述了全部业务多地多活,应该是国内唯一实现全部业务多地多活的银行。更有意思的是,被称为" 架构书里面的战斗机"
我理解这套三地五中心、多地多活的架构,解决了城市级容灾的问题,城市级故障数据不丢。业务流量分摊到多个城市的多个机房,一个机房故障,仅影响部分业务,而不是全部业务。
传统Oracle、DB2的主备数据库的方式,无法解决单点故障RPO=0的问题,这一点是数据库行业应该做的转变。
过去我们认为Oracle最大保护、最大可用就是RPO=0,实际上这是在假定故障是一刀切的方式,事实上很多故障是先出现网络延时,然后再断掉,此时RPO不一定等于0。步骤如下:
1.主备正常同步,数据库最大可用模式,主动降级阈值15秒。
2.主备网络故障,网络闪断出现不可用 20秒;此时主库15秒业务不可用,数据同步降为异步。
3.40秒后,主机房因网络问题彻底不可用,光纤交换机彻底毁坏。
4.此时,20秒 ~ 40秒的主库数据已经丢失