SpringCloud-Hystrix服务熔断简单实现

**

服务熔断

**一个服务在一段时间内运行连续失败超过了这段时间内运行次数的规定值,该服务暂时关闭,即使之后运行成功,也需要连续一段时间的运行成功才恢复服务,保证系统的健壮。

配置
首先就是main方法中调用注解@EnableCircuitBreaker

@SpringBootApplication
@EnableEurekaClient
@EnableCircuitBreaker
public class PaymentHystrixMain8001 

第二就是在需要调用的方法头调用@HystrixCommand,在commandProperties 配置具体的参数

    @HystrixCommand(fallbackMethod="paymentCircuitBreakFallback",commandProperties = {
            @HystrixProperty(name="circuitBreaker.enabled",value = "true"),
            @HystrixProperty(name="circuitBreaker.requestVolumeThreshold",value = "10"),
            @HystrixProperty(name="circuitBreaker.sleepWindowInMilliseconds",value = "10000"),
            @HystrixProperty(name="circuitBreaker.errorThresholdPercentage",value = "60")
    })
    public String paymentCircuitBreak(@PathVariable(value = "id") Integer id)

circuitBreaker.enabled为是否开启断路器,
circuitBreaker.requestVolumeThreshold为熔断判断逻辑在设定的时间窗口内开始工作的最小请求数。
circuitBreaker.sleepWindowInMilliseconds则断路器开启逻辑在设定的时间窗口内。
circuitBreaker.errorThresholdPercentage是达到错误次数占总次数的百分比开启断路器

可以通过Ctrl+N+Shift打开搜索,搜索打开HystrixCommandProperties可以看到可以配置的参数和默认值。注意复制粘贴时区分大小写。吃了2个小时的亏。

这样对应的方法就可以使用服务熔断了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值