Zuul 简介
Zuul 是 Netflix 公司开发的一个开源 APIGateway,其本质上是一个 WebServlet 应用。Zuul 的核
心是一系列的 Filter。

为什么要使用 Zuul
微服务架构是各应用单独成为一个服务,每个服务之间通过 Api 进行通信。如果 web 端直接
通过应用自身 Url 直接访问每个应用,每次服务请求地址不同,访问多个应用很复杂。
例如:一个电商平台中,访问 user 应用(应用地址 xxxx:8000)名称为 user 的 Api,请求 Url 为
http://xxxx:8000/user,访问 bill 应用(应用地址 xxxx:8001)名称为 bill 的 Api,请求 Url 则为
http://xxxx:8001/bill。
如果应用成百上千,则意味着有成百上千个不同的端口,每个端口代表一个应用,通过不同
端口来访问应用很困难。
下图是不使用 Zuul 的访问模式:

服务网关 Zuul
我们可以通过服务网关来解决上述问题,服务网关是微服务应用中不可或缺的一部分。
Zuul 提供了反向代理功能。将 Zuul 注册到服务中心 Eureka 中,我们仅需访
问微服务网管 Zuul 的地址,后面接上其他服务的注册名称和接口名称即可解决上述问题。
如:Zuul 应用服务的访问地址 xxxx,端口是 8002,Zuul,user,bill 三个应用均注册到 Eureka
中,访问 bill 应用名称为 bill 的 Api 的请求方式为:http://xxxx:8002/bill/bill;同理,访问 user
应用,名称为 user 的 Api 的请求方式为:http://xxxx:8002/user/user。
使用了 Zuul 之后,用户只需要访问网关 Zuul,Zuul 会通过 Eureka 中的服务名跳转到其他服
务,简化服务访问方式,如下图:

最新文章

  1. SPOJ GSS1 Can you answer these queries I[线段树]
  2. C# WPF获取任务栏时间区域的Rectangle
  3. Simple Infinite automaton [C]
  4. gdb调试多进程和多线程命令
  5. WinServer 之 发布WebService后调用出现" The test form is only available for requests from the local machine. "
  6. vmware 收缩硬盘大小(compat,shrink,vmware-vdiskmanager)
  7. Inno Setup 精灵显示插件 InnoFairy (V2.0 版本)
  8. 施用 maven shade plugin 解决 jar 或类的多版本冲突
  9. 【腾讯开源】Android性能测试工具APT使用指南
  10. phpstorm 正则匹配删除注释行(替换注释行为空行)
  11. HDU 1874 畅通工程续【Floyd算法实现】
  12. Spring IOC知识点一网打尽!
  13. H - Partial Tree HDU - 5534 (背包)
  14. trident-deploy自动部署命令
  15. oracle增加记录谁在连接你的数据库
  16. Ubuntu16.04 安装Tensorflow1.7过程记录一:安装显卡驱动
  17. 使用mondorescue将本机linux centos 7服务器制作成光盘
  18. vue 动态修改el-upload 的action
  19. Spring Boot Mock单元测试学习总结
  20. 机器学习中的python常用函数

热门文章

  1. c/c++ llinux epoll系列4 利用epoll_wait实现非阻塞的connect
  2. 安装和使用git遇到的问题总结
  3. iOS 设置View阴影
  4. drf 教程
  5. 系统重装助手教你如何在Microsoft Edge中恢复“关闭所有选项卡”警告
  6. insert into select的实际用法
  7. kernel笔记——中断
  8. Vue 自定义一个插件的用法、小案例及在项目中的应用
  9. Linux内存管理 (6)vmalloc
  10. 家庭记账本小程序之java代码部分(java web基础版二)