MSHA的核心功能是切流。本文将介绍在异地双活中如何创建切流任务并查看切流详情。
前提条件
创建切流工单
登录多活容灾MSHA控制台。
在左侧导航栏,单击多活实例。
在多活实例详情页面,单击
。在切流单页面,单击新建切流单。
在新建切流单页面,填写名称和描述,然后选择容灾场景下任意一种场景来进行规则调整。
场景一:选择
,会自动选中切流组件。说明单元(地域)出现大面积故障,将故障单元(地域)的流量切0,主数据库在该单元(地域)的切换到正常单元。
a. 选择故障单元,代表此时该单元当前出现故障,无法承接流量,MSHA会自动将该单元的流量置0,将另一个单元置为100。
b. 单击下一步,进入容灾切换预览,在预览页,可以看到单元前后比例的对比,和当前切流服务,如果和您预期不符,请返回上一步。
c. 单击执行预检查,MSHA会检查本次切流的风险,如果发现检查项检查不通过,在对应的检查项下,可以查看错误详情,您可以选择修复后重试,如果您仍然需要切流,也可以单击跳过来忽略报错。
重要跳过功能一般用于紧急切流场景,请谨慎使用。
d. 单击切换执行,开展执行切流操作。
场景二:
,会自动选中切流组件。说明单元(地域)间通信出现故障,将流量,主数据库全部切换到主单元(地域)。
a. MSHA会自动将备单元的流量切零。
b. 单击下一步,进入容灾切换预览,在预览页,可以看到单元前后比例的对比,和当前切流服务,如果和您预期不符,请返回上一步。
d. 单击执行预检查,MSHA会检查本次切流的风险,如果发现检查项检查不通过,在对应的检查项下,可以查看错误详情,您可以选择修复后重试,如果您仍然需要切流,也可以单击跳过来忽略报错。
重要跳过功能一般用于紧急切流场景,请谨慎使用。
e. 单击切换执行,开展执行切流操作。
场景三:
说明非故障场景,根据业务要求调整各单元(地域)或单元格(机房)承担的流量比例。
选择切流组件。
选择切换方式,切换方式分为范围和精准。
说明范围:调整切流规则的比例范围。
精准:通过路由标精准路由到对应单元。
选择范围:调整单元的流量比例,可以通过修改比例或者拖动滚动条调整。
选择精准:调整路由标路由的单元,选择路由标然后通过左右箭头进行调整。
调整完成,单击下一步,进入容灾切换预览,在预览页,可以看到单元前后比例的对比,和当前切流服务,如果和您预期不符,请返回上一步。
单击执行预检查,MSHA会检查本次切流的风险,如果发现检查项未通过,在对应的检查项下,可以查看错误详情,您可以选择修复后重试,如果您仍然需要切流,也可以单击跳过来忽略报错。
重要跳过功能一般用于紧急切流场景,请谨慎使用。
单击切换执行,开展执行切流操作。
查看切流详情
创建切流任务后,MSHA开始进行切流工作。这边切流任务页面可能包含3种类型,异地双活范围切流,异地双活精准切流,同城切流完成切流需要进行以下几个过程,您可以在切流任务页面查看这些过程的详情。
异地双活范围/精准切流
若未启用某多活组件,则切流详情中不会有对应的步骤和展示内容。
单击前置任务,可以查看该实例下配置的前置自定义动作。配置前置自定义动作的具体操作,请参见自定义动作。
单击更新规则。
MSHA使用ACM向业务系统推送切流态路由规则,业务系统中依赖的MSHA-SDK,将根据切流态路由规则进行路由。
说明若推送规则失败,则单击重试进行重试,MSHA将在2小时内定时自动重试,如果超时仍未成功则切流工单进入异常状态并回滚重推基线规则。
单击数据禁写。
此过程中,业务系统中依赖的MSHA-SDK会开启数据库禁写控制,以此进行单元保护,避免更新规则推送到业务系统的时间不一致、机器时钟不一致,导致各机器规则生效时间不一致出现的数据脏写问题。
各层切流。同时进行接入层和数据层切流。
接入层切流。MSHA将执行各单元流量比例推送和各单元化路由规则推送。
说明若推送规则失败,则单击重试,MSHA将在2小时内定时自动重试。如果超时仍未成功,则切流工单进入异常状态。
数据层切流。MSHA自动获取数据层的实例库DTS同步延迟情况。业务系统中依赖的MSHA-SDK也会根据同步延时策略,进行相关的控制(禁写、禁更新、忽略)。当所有实例库DTS同步延迟为0s时,系统自动进入下一步骤后置任务。
单击后置任务,可以查看该实例下配置的后置自定义动作。配置后置自定义动作的具体操作,请参见自定义动作。
MSHA将使用ACM向业务系统推送切流终态路由规则。业务系统中依赖的MSHA-SDK,将根据终态路由规则进行路由,并结束同步延时策略的相关控制(禁写、禁更新、忽略)。
执行结果:规则推送成功后,将展示流量推送比例饼图。操作至此,证明切流成功。
同城多活切流
详情和同城多活切流查看详情一致。