业务级容灾切换演练实践

2021-12-20 15:19:02 浏览数 (1)

业务容灾是所有容灾中最复杂的一种场景,涉及到业务应用、中间件、数据库及底层的计算、存储、网络等资源。就云上业务容灾来讲整个容灾覆盖到IaaS、PaaS、SaaS层。在容灾方案确认并且实施落地之后,就需要进行容灾切换演练工作。下面主要介绍下容灾切换演练的流程及具体操作细节。

容灾切换方案图容灾切换方案图

一、确保备区所有相关的应用级中间件组件部署完毕。

先假设整个容灾切换场景在广州四区及六区进行,四区是主区、六区是备区。在六区搭建应用部署环境并先不启动业务。然后按照四区六区1比1的比例来部署mysql、kafka、ES、redis、MQ等中间件组件。

二、模拟4区故障

采用脚本批量停止4区的应用级各个中间件组件,在必要的话,可以停止网络。经过观察,发下整个4区相关应用,中间件组件均以停止运行,并且4区到六区的网络也不通。

三、执行整个业务容灾的切换步骤

1、应用入口的流量切换。在容灾切换平台上,将系统客户端的流量指向六区。

注意事项:① 确保流量切换生效;② 观察切换后系统整体流量是否有影响。

2、数据库组件切换。

具体步骤:

① 四区旧主库设置为只读状态

② 检查同步完成后,设置为读写状态;

③ datax修改,将四区所有job设置为不运行状态,开启灾备区域job;

④ 备份脚本启用检查;

⑤ 执行ip切换。

容灾注意事项:

① 需要确保四区主库设置为只读状态,确保数据一致性。

② 注意数据是否同步正常。

3、中间件组件域名切换

具体步骤:

① kafka组件的流量切换到六区节点。切完之后,客户端的消息读/写 是否正常走六区。

② redis切换到广州六区,执行应用请求域名切换。主动failover。执行切换之后,观察切换是否正常,流量是否正常。

③ MQ切换到广州六区,切换之前需要先关闭4区的节点。

④ 备区cancel启动,将数据库中的数据同步至ES。

四、执行开发平台切换步骤

将客户侧的流量引入备区6区中来,观察整个链路请求是否正常,各个中间件运行是否正确,数据同步是否确保一致性。

0 人点赞