1:什么是zuul,用什么用?
Zuul 是Netflix 开源的微服务网关,可以和Eureka 、Ribbon 、Hystrix 等组件配合使用,Spring Cloud 对Zuul 进行了整合与增强,Zuul 的主要功能是路由转发和过滤器。路由转发功能是将外部请求转发到具体的我们的微服务上,是实现外部访问统一入口的基础,因为之后我们所有访问都要从网关走,我们会通过配置忽略掉其他的访问。而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。
2:配置Zuul
创建一个微服务模块;
①首先添加依赖,注意不只是zuul的依赖,还需要将zuul注册进注册中心(拿取服务),所以我们还需要eureka的依赖。
②添加配置文件,文件中添加端口号、服务ip、erureka配置,先不添加zuul配置;
?③启动类添加@EnableZuulProxy,注意不是EnableZuulServer。不要加错了。
3:启动项目
*要确保zuul也被注册进去。
?①先用之前的方式访问。???????
?②使用zuul之后,我们可以通过服务名请求。注意:端口号是zuul模块的
?③但是这样会暴露出我们的真是的微服务名字,很不安全。另外,我们的后台可能有几百个微服务,那我们前端访问不可能都记着名字,所以,我们要给一个网关,访问网关,让网关去调用服务。
添加zuul配置;
zuul:
routes:
springcloud-provider-dept.serviceId: springcloud-tigong-ip #真实的服务名
springcloud-provider-dept.path: /mydept/** #网关,隐藏真实服务名
运行:
?④这样网关就整体配置完成了,但是原有的服务名(②)方式还可以使用,可以使用忽略禁止使用服务名直接访问。添加忽略后我们再使用服务名访问。
#忽略,不能再使用这个路径访问。 这样的话就只能使用路由网关启用,*隐藏所有
ignored-services: "*"
?⑤扩展,就像我们的API一样,我们也可以给网关添加前缀,添加后访问时也必须加上前缀。
# 设置公共的前缀
prefix: /Tujiji
??⑥完整的配置文件;之所以没有一次性全部配置是为了好理解,能够真正的了解它的作用,添加与不添加的区别。
完结撒花,个人日常练习,还望大佬手下留情。代码之路,其修远兮。
|