两地三中心部署

两地三中心是在同城双中心的基础上,在异地机房单独部署一套 SequoiaDB 巨杉数据库集群,用于双中心的数据备份,当双中心出现自然灾害等原因而发生故障时,异地灾备中心可以用备份数据进行业务的恢复。

两地三中心灾备架构

同城的两中心采用三副本机制部署 SequoiaDB 灾备集群,异地中心集群只保持单副本,两地间结构化数据的同步通过传输同城灾备集群日志到异地灾备集群,然后通过重放日志记录的方式实现结构化数据的同步。两个集群同时在线,只有本地集群提供读写,异地集群用于数据备份,且数据同步有一定的延时。

两地三中心集群部署

:

灾难应对方案

主中心整体故障

当主中心(SUB1)整体发生故障,整个集群环境将会失去三分二的节点,如果从每个数据组来看,相当于每个数据组有两个数据节点出现了故障,存活的节点只剩余一个。这种情况下就需要用到“分裂(split)”和“合并(merge)”工具做一些特殊处理,把同城灾备中心的集群分裂成单副本集群,这时灾备中心节点可提供读写服务。分裂集群的耗时相对比较短,一般在十分钟内便能完成。具体操作可参考同城双中心灾难恢复

同城网络故障

当同城网络出现故障,导致主中心与灾备中心无法进行通信时,由于采用了三副本的架构,应用程序可以通过访问本地两副本集群。针对同城网络的故障场景,无需采取特别的应对措施,只需要及时修复网络故障,修复后通过自动数据同步或者人工数据同步的方式去恢复灾备节点的数据即可。

本地双中心整体故障

当主中心和同城灾备中心都发生故障时,本地集群已无法对外提供服务。这种情况下,只需将应用切换至异地 SequoiaDB 集群即可使业务恢复正常。待本地双中心集群故障恢复后,再将应用切换至本地即可。

异地灾备中心整体故障

当异地灾备中心故障时,导致异地集群无法通过日志重放进行数据同步,但并不影响本地集群的正常服务。针对异地灾备中心整体故障的场景,无需采取特别的应对措施,只需要及时修复故障节点,并恢复日志重放进程即可。