SpringCloud中的熔断监控Hystrix Dashboard底层原理及实战

本文介绍了SpringCloud Hystrix Dashboard的基本概念和实现方式。Hystrix作为断路器,用于服务降级,通过@HystrixCommand注解实现方法的回退。启用@EnableCircuitBreaker注解将方法放入Hystrix线程池并处理异常。Dashboard则监控线程池中的执行信息,提供可视化展示。虽然@HystrixCommand效率较低,但在企业开发中常与Feign结合使用。搭建Dashboard模块只需少量配置,通过SpringCloud的Dashboard组件即可实现监控功能。
摘要由CSDN通过智能技术生成

Hystrix Dashboard 介绍

首先我们要明确Hystrix Dashboard是两个概念:Hystrix和Dashboard。

1.Hystrix:SpringCloud中的Hystrix组件,也就是断路器,可以实现服务降级的功能。

定义的服务如果发生错误就可以使用Hystrix定义错误之后的回退。

通常在工程中使用HystrixCommand注解实现,该注解源码如下:

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface HystrixCommand {
    String groupKey() default "";

    String commandKey() default "";

    String threadPoolKey() default "";

    String fallbackMethod() default "";

    HystrixProperty[] commandProperties() default {};

    HystrixProperty[] threadPoolProperties() default {};

    Class<? extends Throwable>[] ignoreExceptions() default {};

    ObservableExecutionMode observableExecutionMode() default ObservableExecutionMode.EAGER;

    HystrixException[] raiseHystrixExceptions() default {};

    String defaultFallback() default "";
}

通过@Target({ElementType.METHOD})我们可以知道这个注解是定义在方法上的。其中比较重要的方法是String fallbackMethod() default ""; 它是定义回退方法的名称,这个方法必须和Hystrix执行方法在相同的类中。

以下是一个具体使用的例子:

public SearchResponse fallback(SearchRequest request, Throwable e){
    return null;
}

@Override
@HystrixCommand(fallbackMethod = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值