【搬砖】hystrix开发
二、监控Hystrix
1、添加依赖

org.springframework.boot spring-boot-starter-actuator org.springframework.cloud spring-cloud-starter-netflix-hystrix-dashboard 2、创建配置 application.properties中的配置如下: 应用包含spring-boot-starter-actuator 依赖,就会存在一个/actuator/hystrix.stream 端点,用来监控Hystrix Command。当被@HystrixCommand 注解了的方法被调用时,就会产生监控信息,并暴露到该端点中。当然,该端点默认是不会暴露的,需使用如下配置将其暴露。 management.endpoints.web.exposure.include=hystrix.stream 3、添加注解 @SpringCloudApplication @EnableHystrixDashboard 4、dashboard链接: http://localhost:8080/hystrix stream链接:http://localhost:8080/actuator/hystrix.stream,输入链接查看具体stream的情况

【搬砖】hystrix开发
【搬砖】hystrix开发
【搬砖】hystrix开发
默认超时时间
@HystrixCommand(commandProperties = {
@HystrixProperty(name = “execution.isolation.thread.timeoutInMilliseconds”,value = “3000”)
})

HystrixCircuitBreaker可以使用状态机来实现,内部模拟以下几种状态。

闭合(closed)状态: 对应用程序的请求能够直接引起方法的调用。代理类维护了最近调用失败的次数,如果某次调用失败,则使失败次数加1。如果最近失败次数超过了在给定时间内允许失败的阈值,则代理类切换到断开(Open)状态。此时代理开启了一个超时时钟,当该时钟超过了该时间,则切换到半断开(Half-Open)状态。该超时时间的设定是给了依赖服务恢复正常。
断开(Open)状态:在该状态下,对依赖服务的请求会立即返回错误响应。
半断开(Half-Open)状态:允许对应用程序的一定数量的请求可以去调用依赖服务。如果这些请求对依赖服务的调用成功,那么可以认为之前导致调用失败的错误已经修正,此时Circuit-Breaker切换到闭合状态,并且将错误计数器重置;如果这一定数量的请求有调用失败的情况,则认为导致之前调用失败的问题仍然存在,Circuit-Breaker切回到断开方式,然后开始重置计时器来给依赖服务一定的时间来修正错误。半断开状态能够有效防止正在恢复中的依赖服务被突然而来的大量请求再次拖垮。
各个状态之间的转换如下图
【搬砖】hystrix开发
在Close状态下,错误计数器是基于时间的。在特定的时间间隔内会自动重置。这能够防止由于某次的偶然错误导致熔断器进入断开状态。触发熔断器进入断开状态的失败阈值只有在特定的时间间隔内,错误次数达到指定错误次数的阈值才会产生。在Half-Open状态中使用的连续成功次数计数器记录调用的成功次数。当连续调用成功次数达到某个指定值时,切换到闭合状态,如果某次调用失败,立即切换到断开状态,连续成功调用次数计时器在下次进入半断开状态时归零。
【搬砖】hystrix开发

相关文章:

  • 2021-07-28
  • 2022-12-23
  • 2022-12-23
  • 2021-09-27
  • 2021-10-24
  • 2021-06-10
  • 2021-05-09
  • 2021-10-11
猜你喜欢
  • 2021-11-24
  • 2021-04-14
  • 2022-12-23
  • 2022-02-08
  • 2022-12-23
  • 2021-04-22
  • 2021-05-11
相关资源
相似解决方案