Gradle+Springcloud构建项目(四)Hystrix 断路器

本文介绍了如何在Gradle+Springcloud项目中使用Hystrix断路器,包括在Feign中启用断路器的配置方法以及创建HystrixCommand的步骤。通过在配置文件中打开Feign的断路器开关,以及定义并继承接口,实现了断路器的简单应用。同时,文章提到开启断路器可以通过在启动类中添加@EnableCircuitBreaker注解。对于Hystrix的深入理解,推荐了一些在线资源供读者参考。

Gradle+Springcloud构建项目(四)Hystrix 断路器

上期回顾:

Gradle+Springcloud构建项目(一)

Gradle+Springcloud构建项目(二)eureka分布式注册中心

Gradle+Springcloud构建项目(三)FeignClient-服务消费调用

上期的文章中,我们引入了Hystrix 这个jar包,但是并没有使用,这次,我们就来讲一讲Hystrix 怎么用。

在这里插入图片描述

Feign中使用断路器

Feign是自带断路器的,在D版本的Spring Cloud之后,它没有默认打开。需要在配置文件中配置打开它,在配置文件加以下代码:

 feign.hystrix.enabled=true

Hystrix 理论不复杂,用起来也简单,只需要定义一个简单的类,并继承我们之前的接口
在这里插入图片描述然后在接口里加上这么一句话
在这里插入图片描述断路器就写好了。。。。

HystrixCommand项目

可以在启动类中加入@EnableCircuitBreaker注解来开启
除了在在这里插入图片描述然后我们就可以为所欲为啦~

   public @interface HystrixCommand {

        // HystrixCommand 命令所属的组的名称:默认注解方法类的名称
        String groupKey() default "";

        // HystrixCommand 命令的key值,默认值为注解方法的名称
        String commandKey() default "";

        // 线程池名称,默认定义为groupKey
        String threadPoolKey() default "";
        // 定义回退方法的名称, 此方法必须和hystrix的执行方法在相同类中
        String fallbackMethod() default "";
        // 配置hystrix命令的参数
        HystrixProperty[] commandProperties() default {};
        // 配置hystrix依赖的线程池的参数
         HystrixProperty[] threadPoolProperties() default {};

        // 如果hystrix方法抛出的异常包括RUNTIME_EXCEPTION,则会被封装HystrixRuntimeException异常。我们也可以通过此方法定义哪些需要忽略的异常
        Class<? extends Throwable>[] ignoreExceptions() default {};

        // 定义执行hystrix observable的命令的模式,类型详细见ObservableExecutionMode
        ObservableExecutionMode observableExecutionMode() default ObservableExecutionMode.EAGER;

        // 如果hystrix方法抛出的异常包括RUNTIME_EXCEPTION,则会被封装HystrixRuntimeException异常。此方法定义需要抛出的异常
        HystrixException[] raiseHystrixExceptions() default {};

        // 定义回调方法:但是defaultFallback不能传入参数,返回参数和hystrix的命令兼容
        String defaultFallback() default "";
    }

关于Hystrix 的很多内容,网上都有详尽的解释,我这边就不重复了,这边给大家几个地址,可以去看看

简书
csdn_hystrix
csdn_hystrix

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值