节点故障降级切面
Fallback Aspect:节点故障降级切面,是系统内置的切面。如果节点在一定时间内执行失败(relationType="Failure")次数超过一定阈值,
则会触发组件故障降级,跳过该组件,通过Failure RelationType
连接下一个节点,error内容:skip fallback error
节点故障降级切面,对于restApiCall
、mqttClient
等于外部服务交互的节点,当外部服务不可以用时,使用节点降级,可以很好保护系统资源。
提示
该切面需要手动引入。
# 配置
字段 | 类型 | 说明 | 默认值 |
---|---|---|---|
ErrorCountLimit | int | LimitDuration 错误次数达到多少后,执行跳过降级 | 0 |
LimitDuration | time.Duration | 限制降级的时长 | 无 |
PointCutFunc | func(ctx types.RuleContext, msg types.RuleMsg, relationType string) bool | 用于判断是否需要执行降级逻辑,默认所有 | true |
# 使用示例
//如果60s内出现3次错误,则跳过当前节点,继续执行下一个节点,60s后恢复
types.WithAspects(
&aspect.SkipFallbackAspect{
ErrorCountLimit: 3,
LimitDuration: time.Second * 60}
)
1
2
3
4
5
6
2
3
4
5
6
在 GitHub 上编辑此页 (opens new window)
上次更新: 2024/10/23, 10:13:01