MSHA的核心功能是切流。在⼀个数据中心发生故障或灾难的情况下,将流量切换到其他数据中心,其他数据中心可以正常运行并对关键业务或全部业务进行接管,实现故障灾难场景的业务快速恢复。本文将介绍在异地应用双活中如何创建切流任务并查看切流详情。
前提条件
创建切流工单
登录多活容灾MSHA控制台。
在左侧导航栏,单击多活实例。
在多活实例详情页面,单击
。在切流单页面,单击新建切流单。
在新建切流单页面,您可以修改名称,填写描述,然后选择架构,如果是单异地应用双活架构,则会自动选中,无需您选择,如果您的实例是异地应用双活 + 同城多活的嵌套架构,则需要您指定想调节的架构,然后再在容灾场景下选择任意一种场景来进行规则调整。
场景一:选择
,会自动选中切流组件。说明用户应用出现故障,将故障应用对应的单元(地域)流量切0,由正常单元(地域)承担全部流量。
a. 选择故障单元,代表此时,该单元当前出现故障,无法承接流量,MSHA会自动将该单元的流量置0,将另一个单元置为100。
b. 单击下一步,进入容灾切换预览,在预览页,可以看到单元前后比例的对比,和当前切流服务,如果和您预期不符,请返回上一步。
c. 单击执行预检查,MSHA会检查本次切流的风险,如果发现检查项检查不通过,在对应的检查项下,可以查看错误详情,您可以选择修复后重试,如果您仍然需要切流,也可以单击跳过来忽略报错。
重要跳过功能一般用于紧急切流场景,请谨慎使用。
d. 单击切换执行,开始执行切流操作。
场景二:选择
,会自动选中切流组件。说明单元(地域)出现大面积故障,将故障单元(地域)的流量切0,主数据库在该单元(地域)的切换到正常单元。
a. 选择故障单元,代表此时,该单元当前出现故障,无法承接流量,MSHA会自动将该单元的流量置0,将另一个单元置为100;主数据库在该单元的也会被自动选中,然后后续会切换到另一单元。
b. 单击下一步,进入容灾切换预览,在预览页,可以看到单元前后比例的对比,数据库前后主备的对比以及当前切流服务,如果和您预期不符,请返回上一步。
c. 单击执行预检查,MSHA会检查本次切流的风险,如果发现检查项检查不通过,在对应的检查项下,可以查看错误详情,您可以选择修复后重试,如果您仍然需要切流,也可以单击跳过来忽略报错。
重要跳过功能一般用于紧急切流场景,请谨慎使用。
d. 单击切换执行,进行执行切流和数据库切换的操作。
场景三:
,会自动选中切流组件。说明单元(地域)间通信出现故障,将流量,主数据库全部切换到主单元(地域)。
a. MSHA会自动将备单元的流量切0,主数据在备单元的也会自动选中,后续会切换单主单元。
b. 单击下一步,进入容灾切换预览,在预览页,可以看到单元前后比例的对比,数据库前后主备的对比以及当前切流服务,如果和您预期不符,请返回上一步。
d. 单击执行预检查,MSHA会检查本次切流的风险,如果发现检查项检查不通过,在对应的检查项下,可以查看错误详情,您可以选择修复后重试,如果您仍然需要切流,也可以单击跳过来忽略报错。
重要跳过功能一般用于紧急切流场景,请谨慎使用。
e. 单击切换执行,进行执行切流和数据库切换的操作。
场景四:
说明部分数据库出现异常,将发生故障的主数据库切换到另一单元(地域)。
a. 选中想要切换的数据库,在展示框里,同一行代表同一数据库的主备。
b. 单击下一步,进入容灾切换预览,在预览页,可以看到数据库前后主备的对比,如果和您预期不符,请返回上一步。
c. 单击执行预检查,MSHA会检查本次数据库切换的风险,如果发现检查项检查不通过,在对应的检查项下,可以查看错误详情,您可以选择修复后重试,如果您仍然需要切换,也可以单击跳过来忽略报错。
重要跳过功能一般用于紧急切换场景,请谨慎使用。
d. 单击切换执行,开始执行数据库主备切换操作。
场景五:
说明非故障场景,根据业务要求调整各单元(地域)或单元格(机房)承担的流量比例。
a. 选择切流组件。
b. 调整单元或单元格的流量比例,可以通过修改比例或者拖动滚动条调整。
c. 调整完成,单击下一步,进入容灾切换预览,在预览页,可以看到单元和单元格前后比例的对比,和当前切流服务,如果和您预期不符,请返回上一步。
d. 单击执行预检查,MSHA会检查本次切流的风险,如果发现检查项检查不通过,在对应的检查项下,可以查看错误详情,您可以选择修复后重试,如果您仍然需要切流,也可以单击跳过来忽略报错。
重要跳过功能一般用于紧急切流场景,请谨慎使用。
e. 单击切换执行,开始执行切流操作。
查看切流进程详情
创建切流任务后,MSHA会自动执行切流的各个步骤,这边切流任务页面可能包含3种类型,异地应用双活范围切流,数据层切流,同城切流,您可以在切流任务页面单击步骤下的查看详情查看步骤的执行详情。
异地应用双活范围切流
1.单击前置任务详情,可以查看该实例下配置的前置自定义动作。配置前置自定义动作的具体操作,请参见自定义动作。
2.单击更新规则详情。
MSHA会将切流产生的流量规则或云产品切换规则推送给管控命令通道(从而下发到MSHA SDK),业务应用中依赖的MSHA SDK或Agent接收到新规则后将立即按新版流量规则进行流量处理或执行云产品切换动作。
说明若推送规则失败,则单击重试进行重试,MSHA将在2小时内定时自动重试,如果超时仍未成功,则切流工单进入异常状态并回滚重推基线规则。
3.各层切流。
单击接入层切流详情。MSHA将执行各单元流量比例推送和各单元化路由规则推送。
说明若推送规则失败,则单击重试,MSHA将在2小时内定时自动重试,如果超时仍未成功,则切流工单进入异常状态。
单击消息层切流详情。MSHA自动获取MQ控制台重置消费位点情况。业务系统中依赖的MSHA SDK也会根据一定的策略,对消息归属消费单元重新计算,保证消息不丢失。
4.单击后置任务,可以查看该实例下配置的后置自定义动作。配置后置自定义动作的具体操作,请参见自定义动作。
数据层切流
1.单击下发延迟策略和切换主单元规则,可以看到相关的任务执行信息和状态。
说明将规则下发到ACM,并设置延迟策略,此时数据延迟策略会影响应用SDK的操作,例如,禁止写入,禁止更新等。
2.单击同步位点追平,可以看到相关的任务执行信息和状态,以及数据延迟时间
3.如果是单向同步链路切换,则需要执行建立反向同步链路,等待反向同步初始化和重置正向同步链路,双向同步链路切换则不需要。
单击等待反向同步初始化的详情,可以看到同步链路的名称,单元和反向同步状态,在这里,可以通过查看,直接跳转到DTS进行同步链路信息的查看。
4.下发取消延迟策略规则,数据化切换完成。
说明这里会取消延迟策略,SDK会按照新的规则进行数据的操作。
同城多活切流
详情和同城多活切流查看详情一致。