我们需要循序渐进,紧接着前面的项目,在module eureka_feign的plm.xml 添加熔断器依赖配置:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
新建一个熔断错误处理业务类,实现EurekaClientFeign service ,并返回熔断错误,配置熔断退回逻辑为错误处理类:
@Component
public class HiHystrix implements EurekaClientFeign {
@Override
public String sayHiFromFeignClient() {
return "熔断器错误";
}
}
修改EurekaClientFeign类,在@FeignClient注解中添加fallback配置快速失败处理的类,该类是Feign逻辑处理类,必须实现呗@FeignClient修饰的接口,最后需要以bean的形式注入Ioc中:
//这里声明调用eureka-lient远程服务
@FeignClient(value = "eureka-client",configuration = FeighConfig.class,fallback = HiHystrix.class)
public interface EurekaClientFeign {
//这里声明为调用eureka-client的hello远程服务
@GetMapping(value = "/hello")
String sayHiFromFeignClient();
}
配置yaml,打开熔断器:
feign:
hystrix:
enabled: true
依次启动eureka_service的peer1实例、eureka_ client两个实例,启动eureka_feign.
浏览器访问: http://localhost:8765/hi
多次刷新会看到轮巡切换访问eureka_client的两个实例接口。
停止eureka_client的两个或一个实例,查看效果,最后eureka_client 全部停止之后,就会看到进入熔断器错误处理逻辑:


本文详细介绍了如何在微服务架构中配置熔断器,通过添加spring-cloud-starter-hystrix依赖,实现熔断错误处理。具体步骤包括在pom.xml中添加依赖,创建熔断错误处理业务类,配置熔断退回逻辑,以及在FeignClient注解中添加fallback配置。
775

被折叠的 条评论
为什么被折叠?



