业务容灾是所有容灾中最复杂的一种场景,涉及到业务应用、中间件、数据库及底层的计算、存储、网络等资源。就云上业务容灾来讲整个容灾覆盖到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区中来,观察整个链路请求是否正常,各个中间件运行是否正确,数据同步是否确保一致性。