对于业务的整体双活,我是这么理解的:只要同一项业务能同时在两个数据中心完成,并且在发生数据中心级别的灾难的时候,业务可以无缝切换,这就是业务上的双活,不必关心应用如何访问数据库,数据库如何访问存储并最终将数据持久化。
如果我们的容灾目标如上所述,那么从系统架构层面去设计的化,可选的方案就会相对宽松。应用的切换可以靠网络、负载均衡、DNS结合起来去完成切换,二层网络的方案也有很多,Vxlan、OTV。至于数据库,也就没有必要去强调非得是两个数据中心都能去写,可以选择跨中心做写SQL。存储层也没有必要同时两边都去写,跨中心写也不是问题。总而言之,只要保障业务上的活,下面如何做,取决于我们关注的决策点和实际业务量级。