如果没有异地机房,并且对可靠性要求不是特别的高,采用同城三机房部署方案可以达到机房级容灾。同城机房间的网络延迟一般在 0.5~2ms 之间,所以这种方案具有非常高的性能。更进一步的,甚至可以在同机房的多个机架上部署三个 Zone,能够做到机架级容灾,同时获得更高的性能。

    两个城市,一个城市为主城市,另外一个城市为备城市。主城市包含两个机房,每个机房两个副本;备城市只包含一个机房,这个机房只有一个副本。这一方案是两地三中心三副本部署方案的进化,用于解决两地三中心三副本部署方案在多副本所在城市发生机房故障时引入的事务提交跨城市问题。主副本在主城市的数据中心 1,如果数据中心 2 整体故障,那么,Paxos 协议会将数据中心 2 中的两个副本从成员列表中剔除,成员组由 5 个副本降级为 3 个副本,以后只需要强同步 3 个副本中的 2 个即可。大部分情况下,强同步操作可以在数据中心 1 内完成,避免跨城市同步。类似地,如果数据中心1整体故障,那么,Paxos 协议需要首先将主副本切到数据中心 2,接着再将成员组由 5 个副本降级为 3 个副本,以后强同步操作可以在数据中心 2 内完成,避免跨城市同步。

    和三地三中心五副本类似,不同点在于,三地五中心会把每个副本部署到不同的机房,进一步强化机房容灾能力。