专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

SpringCloud学习笔记(3)——Hystrix

参考Spring Cloud官方文档第13、14、15章

13. Circuit Breaker: Hystrix Clients

Netflix提供了一个叫Hystrix的类库,它实现了断路器模式。在微服务架构中,通常一个微服务会调用多个其他的微服务。一个相对低层级的服务失败可能造成上层应用的级联失败,服务访问量越大失败率越高。当断路打开的时候,这个调用就被终止了。打开的断路可以阻止级联失败。

13.1 How to Include Hystrix

69_1.png

69_2.png

15.1 How to Include Hystrix Dashboard

69_3.png

为了使用Hystrix仪表盘,需要在Spring Boot main class上用@EnableHystrixDashboard注解标注。

上代码

在原先的ribbon-demo基础上修改

69_4.png

69_5.png

69_6.png

69_7.png

69_8.png

以上是在Ribbon中使用Hystrix,而Feign默认就支持Hystrix。下面看一下在Feign中如何使用Hystrix。

17.4 Feign Hystrix Support

如果Hystrix在classpath中,并且feign.hystrix.enabled=true的话,那么Feign将用断路器包装所有的方法。

注意:在Spring Cloud Dalston之前的版本中,如果classpath中有Hystrix,那么Feign默认回为所有的方法加上断路器。这种默认的行为在Spring Cloud Dalston版本中被改变了,取而代之的是可选的。

69_9.png

17.5 Feign Hystrix Fallbacks

Hystrix支持回调,当断路器打开的时候回回调默认的代码。为了回调指定的方法,可以在@FeignClient中设置fallback属性,它的值是类的名字。例如:

69_10.png

如果需要获得回调触发的原因,可以使用@FeignClient的fallbackFactory属性。

69_11.png

上代码

基于先前的feigen-demo工程改造

69_12.png

69_13.png

69_14.png

69_15.png

69_16.png

其它的不变

个人感觉还是用@EnableCircuitBreaker+@HystrixCommand的方式更方便一点儿

至于断路器仪表盘还是跟前面一样配置

文章永久链接:https://tech.souyunku.com/21551

未经允许不得转载:搜云库技术团队 » SpringCloud学习笔记(3)——Hystrix

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们