Hystrix Command 注解在应用程序中如何工作

Naf*_*ema 2 spring-boot hystrix microservices netflix-eureka

当我使用 @HystrixCommand Annotation 注释一个方法时,它是如何工作的

@HystrixCommand(fallbackMethod="getfallBackdisplayDoctorsAndProducts_lipid",
            commandProperties= {
                @HystrixProperty(name="execution.isolation.thread.timeoutInMilliseconds",value="150"),
                    @HystrixProperty(name="circuitBreaker.requestVolumeThreshold",value="25"),
                    @HystrixProperty(name="circuitBreaker.errorThresholdPercentage",value="50"),
                    @HystrixProperty(name="circuitBreaker.sleepWindowInMilliseconds",value="5000")
            })
    public List<DoctorsAndProducts> displayDoctorsAndProducts(LipidProfile lipidProfile)
    {

    }
Run Code Online (Sandbox Code Playgroud)

Naf*_*ema 8

在此输入图像描述

  1. 您拥有 API 类和 API 类中的方法,该方法用 @HystrixCommand 注释。

  2. Hystrix 将您的 API 类包装在代理类中。

  3. 当您询问 API 类的实例时,将获得代理类的实例

  4. 代理类包含断路器逻辑。

  5. 当有人拨打电话时,Hystrix 会不断监控返回的内容。

  6. 代理类 -> 获取调用并传递给 API 类中的实际方法,获取响应并检查确保并返回。

    7.当事情失败时,代理类调用后备方法,直到恢复回来。