说明:本文仅作为本人学习<<深入理解Spring Cloud与微服务构建>>一书的学习笔记,所有代码案例及文字描述均参考该书,不足之处,请留言指正,不胜感激.
一.在Zuul上配置熔断器
上一篇提到zuul的起步依赖集成了ribbon和hystrix,接下来我们来看看如何在网关上实现熔断功能.
首先我们需要了解在Zuul中实现熔断功能需要实现ZuulFallbackProvider的接口.实现该接口有两个方法,一个是getRoute()方法,用于指定熔断功能应用于哪个路由服务;另一个方法fallbackResponse()为进入熔断功能时执行的逻辑.具体实现可以参看如下代码:
/**
* 网关熔断配置
*
* @author zhyu
* @version v1.0
* @date 2018年07月03日 19:54:28
*/
@Component
public class MyZuulFallbackProvider implements ZuulFallbackProvider {
@Override
public String getRoute() {
//实现对producer-server服务的熔断
return "producer-server";
//return "*"; 实现对所有的路由服务的熔断
}
@Override
public ClientHttpResponse fallbackResponse() {
return new ClientHttpResponse() {
@Override