我现在做sentinel替换hystrix,hystrix这样的默认配置针对所有接口的熔断,在sentinel上面怎么实现,只能每个接口上@SentinelResource定义下资源然后配置规则吗?
Sentinel 提供了全局限流、熔断、降级、系统保护等功能。你可以通过以下步骤来配置全局熔断规则:
在你的 Spring Boot 项目中,添加 sentinel-core 依赖。
在 application.yml 配置文件中,添加如下配置:
spring:
cloud:
sentinel:
transport:
port: 8719
dashboard:
enabled: false
# 配置全局熔断规则
default:
circuitBreaker:
# 熔断开关是否打开
enabled: true
# 最大请求数(QPS)
maxRequest: 10
# 熔断超时时间(单位:毫秒)
timeoutInMilliseconds: 1000
# 熔断重试次数
maxRetryTimes: 3
启动你的 Spring Boot 项目。
这样,Sentinel 就会对所有接口开启熔断功能。
当然,你也可以针对特定的资源来配置熔断规则。例如,你要对 /user/getUser 接口开启熔断功能,你可以添加如下配置:
spring:
cloud:
sentinel:
transport:
port: 8719
dashboard:
enabled: false
# 配置 `/user/getUser` 接口的熔断规则
resources:
- name: /user/getUser
# 熔断开关是否打开
enabled: true
# 最大请求数(QPS)
maxRequest: 10
# 熔断超时时间(单位:毫秒)
timeoutInMilliseconds: 1000
# 熔断重试次数
maxRetryTimes: 3
启动你的 Spring Boot 项目。
这样,Sentinel 就会对 /user/getUser 接口开启熔断功能。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。