总结
Zuul:如果前端、移动端要调用后端系统,统一从Zuul网关进入,由Zuul网关转发请求给对应的服务
说完了Hystrix,接着给大家说说最后一个组件:Zuul,也就是微服务网关。**这个组件是负责网络路由的。**不懂网络路由?行,那我给你说说,如果没有Zuul的日常工作会怎样?
假设你后台部署了几百个服务,现在有个前端兄弟,人家请求是直接从浏览器那儿发过来的。打个比方:人家要请求一下库存服务,你难道还让人家记着这服务的名字叫做inventory-service?部署在5台机器上?就算人家肯记住这一个,你后台可有几百个服务的名称和地址呢?难不成人家请求一个,就得记住一个?你要这样玩儿,那真是友谊的小船,说翻就翻!
上面这种情况,压根儿是不现实的。所以一般微服务架构中都必然会设计一个网关在里面,像android、ios、pc前端、微信小程序、H5等等,不用去关心后端有几百个服务,就知道有一个网关,所有请求都往网关走,网关会根据请求中的一些特征,将请求转发给后端的各个服务。
而且有一个网关之后,还有很多好处,比如可以做统一的降级、限流、认证授权、安全,等等。
作者:石杉的架构笔记
链接:https://juejin.cn/post/6844903705553174541
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. 什么是Zuul路由网关?
没有Zuul之前,访问不同的微服务,需要给出不同的url (ip地址和端口号)。
有了Zuul后,会将ip地址和端口号进行统一的管理分发。
2. 实战Zuul路由网关
2.1 导入依赖
新增zuul:
2.2 在application.yml配置
再新增zuul的配置:
原本用service provider的微服务名称去访问:
zuul配置后,使用同一的名称: