1、zuul可以代理界面所需的后端服务,可以解决CORS(Cross-Origion-Resource-Sharing)和认证问题(authentication)问题
2、zuul是使用ribbon来进行负载均衡,转发定位服务。
3、zuul的所有请求都是在Hystrix命令下执行的,一旦发现断路器打开,则不再尝试联系该服务。
4、zuul的回退:默认情况下,经过zuul的请求都会包裹Hystrix,默认有断路器的功能。
zuul的使用:
1、访问一个服务:providerservice名称的服务:
使用zuul访问:
最原始的测试:在zuul的端口后面加上服务的名称,然后再是映射的路径
2、在配置文件设置简化访问服务的名称:
比如上面的providerservice简化为pro来进行访问:(1)第一种方式
(2)第二种方式:
/*表示只匹配一个,/**k可以匹配多层路径,无论多少层都可以匹配。
(3)第三种方式
指的注意的一点是:以上三种方式不能负载均衡
实现负载均衡的配置:
但是上面的配置在ribbon中需要禁用Eurake。
那么如何解决既实现URL又负载均衡的方式,解决方案是使用正则表达式来配置;
注意此时zuul的配置是最简单的那个:
但是我们需要修改要调用服务的版本,要按照正则式的格式来写:
测试:
zuul的回退注意事项:
(1)使用正则表达式来表示zuul,是上面的那种,但是有个问题,就是我们最初使用zuul来访问服务的时候,是不行的。
即如果使用了正则,我们再访问链接:是报错的。
只有恢复了最初即第一种方式才可以的才可以。