故障隔离
故障隔离是在服务实例出现故障时,实现实例级别的精细化摘流隔离,使故障影响范围更小,提高服务的可用性。
添加故障隔离规则
登录 SOFAStack 控制台。
在左侧菜单栏选择 中间件 > 微服务平台 > 服务网格 > 服务治理,然后单击 故障隔离 页签。
单击 添加隔离规则,然后配置以下参数:
参数
说明
规则名称
配置故障隔离规则的名称。
最多支持 255 个字符。
应用
填写客户端应用。
运行模式
配置故障隔离规则的运行方式,取值如下:
拦截模式:故障隔离规则生效,有故障的服务器会被暂时隔离。
监控模式:有故障的服务器不会被隔离,只打印日志。
时间窗口大小
设置故障检测的时间,与 时间窗口内最少调用次数 配合,只有在指定时间段内进行指定次数的请求才会被采集。
取值范围:(1,60]
单位:秒
时间窗口内最少调用次数
设置指定时间内的最少调用请求次数。
取值 ≥ 0。
异常比例阈值(%)
设置异常请求的比例,配合 异常比例倍数 参数来确定是否隔离目标服务器。
当异常请求的比例 > 异常比例阈值 × 异常比例倍数 时,系统认为目标服务器异常,将隔离目标服务器。
取值范围:(0,100]
异常比例倍数
设置异常比例的倍数,配合 异常比例阈值 参数来确定是否隔离目标服务器。
取值 ≥ 0。
最大隔离数量
设置服务器的隔离数量,即多台服务器故障时最多隔离几台。
取值 ≥ 0。
流量精确匹配(可选)
符合流量精确匹配的流量才进行隔离。
可配置多条匹配规则,各匹配规则之间是与的关系。参数配置如下:
字段:选择 系统字段。
字段名:选择 服务方应用名。
逻辑:包括 等于、不等于、属于、不属于、正则。
字段值:填入所选字段的值。
单击 提交,然后单击 确定。
在故障隔离规则列表中,将刚刚创建的故障隔离规则的状态改为 开。
配置示例
某应用有 A、B、C 三台服务器,三台服务的状态如下:
A:正常
B:异常,异常率 20%
C:异常,异常率 40%
已配置的故障隔离规则如下:
时间窗口大小:10
时间窗口内最少调用次数:20
异常比例阈值:20
异常比例倍数:1
最大隔离数量:1
如果 10 秒内有 20 个请求,且异常率 ≥ 20%(异常比例倍数 × 异常比例阈值),会触发故障隔离规则。因为 B 的故障率更高,系统会优先将 B 隔离。此时,若将最大隔离数量调整为 2,则 A、B 均会被剔除。
搜索故障隔离规则
支持从两个维度模糊搜索:
应用名称
规则名称
编辑故障隔离规则
您可以随时编辑已创建的故障隔离规则,规则提交后实时生效。
在 故障隔离 页签,单击目标故障隔离规则右侧的 编辑。
按需求编辑故障隔离规则后,单击 提交。
删除故障隔离规则
您可以删除已创建的故障隔离规则,删除操作会实时生效,请谨慎操作。
在 故障隔离 页签,单击目标故障隔离规则右侧的 删除。
单击 确定。