前文我们介绍了简单的创建一个客户端,并介绍了它是如何提供服务的,接下来介绍它的另外一个组件:zuul。
zuul 提供了微服务的网关功能,通过它提供的接口,可以转发不同的服务,可以当作一个中转站。
搭建一个网关服务,new model,然后加入如下配置
修改配置文件
修改启动类,添加 @EnableZuulProxy @EnableEurekaClient这两个注解
然后重启启动项目,并访问 http://192.168.3.74:8080/client/index,访问成功得到如下页面
我们可以看到和之前的界面完全一样。其实只要引入了 zuul,它就会自动帮我们实现反向代理和负载均衡。配置文件中的地址转发其实就是一个反向代理,那它如何实现负载均衡呢?
修改client的端口为8888,然后启动,之前启动的不要关闭。我们再刷新 http://192.168.3.74:8666 可以看到有两个服务地址
然后不断刷新访问zuul的地址 http://192.168.3.74:8080/client/index 可以看到端口号8666与8888一直在交替显示
由此可以得出,当一个服务启动多个端口时,zuul 服务网关会依次请求不同端口,以达到负载均衡的目的