回复 1# gbforaix 我没有异地数据中心做高效双活系统的案例,只有同城数据中心做双活系统的案例,不过也交流下。当时做同城数据中心的双活系统项目时我是负责数据库方面的,我们用的数据库是IBM的DB2 pureScale,架构也是参考IBM的GDPC架构,这些网上都有现成的资料,不多说了。
碰到的问题主要是性能方面的,用了DB2 pureScale后SQL语句需要和CF通讯来注册Lock和获取或刷新最新的Page副本,由于主备CF一个放在生产中心一个放在灾备中心,那么SQL语句执行的时候会花掉不少时间和CF通讯。以一个insert语句为例一般要和CF通讯8-9次,下面是一段我们抓的DB2 trace,我们2个中心的物理距离是70公里,这个insert语句的响应时间从原先的4-6毫秒增加到了12-16毫秒。除了DML的响应时间会增加外,commit时间也会增加,因为双活后commit要从CF取一个全局的顺序号需要与CF通讯,除此之外因为active log文件用了GPFS replication来做双中心的同步镜像,commit的时候写active log文件的时间也大大增加了。
性能问题我们没有找到解决方法,这就对哪些应用可以做双活有要求了,哪些对响应时间有特别要求,更新交易并发量特别大的应用也就没法用这个架构来做双活了。