一、前言
微服务架构中,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,容器的线程资源会被消耗完毕,导致服务瘫痪。由于服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。因此,我们需要需要一个“保险丝”,当对特定的服务的调用异常达到一个阀值时,“保险丝熔断”,此时调用此服务,会直接返回一个可定义的错误信息,而不是长时间等待服务调用超时的报错。
Feign 中集成了Hystrix(断路器),在D版本的Spring Cloud之后,它没有默认打开。需要在配置文件中配置打开它。打开后使用Hystrix的功能即可。
Spring Cloud版本 | Spring Boot版本 | JAVA | IDE |
Greenwich.SR1 | 2.1.6.RELEASE | 1.8 | IDEA |
为模拟实际开发,本篇教程除alh-tms外,所有的参数均从远程配置中心读取,若是不用远程配置中心,请在本地应用直接写各项参数即可。
涉及项目:
alh-config-server(6001): 保持启动状态,本篇不涉及修改
alh-eureka-server(6000):保持启动状态,本篇不涉及修改
alh-order(8002)
完整教程全部章节目录: