【发布时间】:2020-01-23 18:08:51
【问题描述】:
我正在使用 Hystrix 为断路器开发 Spring Boot 应用程序。
在我的应用程序中,一个业务流包含对不同微服务的多个网络调用(例如,从服务 A 获取一些数据,然后根据响应调用服务 B 和 C,并根据 B 和 C 的响应,调用服务 D)。
如果任何服务出现故障,我需要阻止整个流程。
有人知道电路什么时候开、关或半开吗?
【问题讨论】:
标签: spring-boot hystrix
我正在使用 Hystrix 为断路器开发 Spring Boot 应用程序。
在我的应用程序中,一个业务流包含对不同微服务的多个网络调用(例如,从服务 A 获取一些数据,然后根据响应调用服务 B 和 C,并根据 B 和 C 的响应,调用服务 D)。
如果任何服务出现故障,我需要阻止整个流程。
有人知道电路什么时候开、关或半开吗?
【问题讨论】:
标签: spring-boot hystrix
感觉有点 hacky,但是有一些静态方法可以让你访问 Hystrix 的包装命令,从而让你访问电路状态:
HystrixCircuitBreaker myCircuitBreaker = HystrixCircuitBreaker.Factory.getInstance(HystrixCommandKey.Factory.asKey("my command name"))
if(myCircuitBreaker.isOpen()) {
...proceed
}
【讨论】: