-
Notifications
You must be signed in to change notification settings - Fork 223
client degrade
lbc97 edited this page Mar 16, 2023
·
4 revisions
降级治理是在业务高峰期时,需要临时减少对于目标服务的访问,达到降低目标服务负载;或者屏蔽对于非关键服务的访问,保持本服务的核心处理能力的治理措施。
Spring Cloud Huawei的客户端降级可以用下图表示:
请求
consumer ------REST---| provider(instance1)
响应
<-------------|
spring-cloud-huawei采用如下方式来实现这种功能。
降级治理有两种治理策略:ThrowException和ReturnNull。
- 开启降级, 配置如下:
servicecomb:
matchGroup:
demo-test-fallback: |
matches:
- serviceName: "MyMicroservice"
apiPath:
prefix: "/"
faultInjection:
demo-test-fallback: |
type: abort
percentage: 100
fallbackType: ThrowException
forceClosed: false
当上述配置开启时访问MyMicroservice的任意接口的请求都会被阻拦并返回错误码为500的FaultInjectionException。
servicecomb:
faultInjection:
demo-test-fallback: |
type: abort
percentage: 100
fallbackType: ReturnNull
forceClosed: false
当上述配置开启时访问MyMicroservice的任意接口的请求都会被阻拦并直接返回null,fallbackType默认值是ThrowException。
- 关闭降级, 配置如下:
servicecomb:
faultInjection:
demo-test-fallback: |
type: abort
percentage: 100
fallbackType: ReturnNull
forceClosed: true
从上述条件可以看出forceClosed是控制降级治理的开关,只要为true降级治理就会被关闭,默认值为false。
-
使用Spring Cloud Huawei功能
-
使用服务治理
-
生态集成
-
迁移改造问题
-
配置参考
-
优秀实践
-
常见问题