1.什么是Zuul

zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。

熟悉Nginx的朋友可以把zuul理解为一个Nginx,个人认为2者主要在使用区别上,Zuul主要是处理与服务之间调用的,而Nginx主要处理与服务器之间的调用和一些静态文件的访问支持。

2.搭建Zuul应用

引入maven库

compile 'org.springframework.cloud:spring-cloud-starter-zuul:1.4.4.RELEASE'

compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')

配置application.properties

server.port=12003eureka.instance.hostname=localhosteureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:12000/eureka/#注册到eurekaeureka.client.healthcheck.enabled=truespring.application.name=eureka-Zuul

zuul.routes.eureka-server.path=/public/*#拦截转发zuul.routes.eureka-server.service-id=eureka-server#转发的服务ID也可以用URL

#zuul.routes.eureka-server.url=localhost:12000 #或者直接使用 URL转发,类是Nginx service-id与url 2选用1zuul.routes.eureka-server.strip-prefix=false #是否去除前缀 也就是publiczuul.ignored-patterns=/api/#不拦截转发的规则

Application启动添加注解

@EnableZuulProxy

@EnableDiscoveryClient

3.测试

这样Zuul的网关服务就启动了。我们来测试下

我们方便再应用A,和应用B实现一个接口 同意返回 2个应用的端口

方便是12000,12001 然后通过我们的Zuul网关来调用

启动完查看Eureka

调用 http://localhost:12003/public/getPort  通过Zuul服务 调用 eureka-server2个应用,对应的配置是下面2个

zuul.routes.eureka-server.path=/public/*

zuul.routes.eureka-server.service-id=eureka-server

调用结果发现Zuul网关会再应用A和应用B进行轮询调用

4.关于Zuul的配置说明

这有一篇比较全的配置说明文章,我就不重复写了

java分布式api网管关,分布式04-Spring Cloud Zuul Api网关 一相关推荐

  1. Spring Cloud Zuul API 网关服务

    API 网关是一个更为智能的应用服务器,它的定义类似于面向对象设计模式中的 Facade 模式,它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过它来进行调度和过滤.它除了要实 ...

  2. Spring Cloud Zuul中使用Swagger汇总API接口文档

    有很多读者问过这样的一个问题: 虽然使用Swagger可以为Spring MVC编写的接口生成了API文档,但是在微服务化之后,这些API文档都离散在各个微服务中,是否有办法将这些接口都整合到一个文档 ...

  3. Spring Cloud Zuul中使用Swagger汇总API接口文档 1

    有很多读者问过这样的一个问题:虽然使用Swagger可以为Spring MVC编写的接口生成了API文档,但是在微服务化之后,这些API文档都离散在各个微服务中,是否有办法将这些接口都整合到一个文档中 ...

  4. Java中高级核心知识全面解析——什么是Spring Cloud、需要掌握哪些知识点?(下)

    目录 一.必不可少的 Hystrix 1.什么是 Hystrix之熔断和降级 2.什么是Hystrix之其他 二.微服务网关--Zuul 1.Zuul 的路由功能 1)简单配置 2)统一前缀 3)路由 ...

  5. Spring Cloud(四) API网关Zuul

    前文回顾: Spring Cloud(一)Eureka Server-单体及集群搭建 Spring Cloud(二) 配置Eureka Client Spring Cloud(三) 熔断器Hystri ...

  6. Spring Cloud学习笔记—网关Spring Cloud Gateway官网教程实操练习

    Spring Cloud学习笔记-网关Spring Cloud Gateway官网教程实操练习 1.Spring Cloud Gateway介绍 2.在Spring Tool Suite4或者IDEA ...

  7. API 网关服务:Spring Cloud Zuul(二):路由详解、Cookie 与头信息

    实践出于<Spring Cloud 微服务实战> - 瞿永超 著 路由详解 传统路由配置   传统路由配置就是在不依赖于服务发现机制的情况下,通过在配置文件中具体指定每个路由表达式与服务实 ...

  8. Spring Cloud——API网关服务:Spring Cloud Zuul

    API网关像是整个微服务框架系统的门面一样,所有的客户端访问都需要经过它来进行调度和过滤.它实现了请求路由.负载均衡.校验过滤等功能.zuul包含了hystrix.ribbon.acturator等重 ...

  9. (十四)Java springcloud B2B2C o2o多用户商城 springcloud架构- Spring Cloud构建分布式电子商务平台...

    通过Spring Cloud构建PC+微信+APP+云服务的云商平台系统,其中包括B2B.B2C.C2C.O2O.新零售.直播电商等子平台,之前我们讲了很多关于Spring Cloud的概念文章,从本 ...

最新文章

  1. 皮一皮:据说这句话高情商的人说起来不一样...
  2. 9、MySQL定义条件和处理程序
  3. oracle12c视图刷新,12c 物化视图 - 对快速刷新的理解
  4. mysql同时查出符合条件数据与总数
  5. Android进程间通信
  6. 小样本点云深度学习库_合成鲁棒的对抗样本来欺骗深度学习分类器
  7. Oracle数据库备份和恢复配置详解
  8. git mysql差异备份_结合Git实现Mysql差异备份,可用于生产环境
  9. 摩托罗拉edge X30屏下版真机首曝:四边等宽 屏下显示效果出众
  10. python中weekday_Python calendar firstweekday()用法及代码示例
  11. [error] eclipse编写spring等xml配置文件时只有部分提示,tx无提示
  12. Trustdata:《2018年Q1中国移动互联网行业发展分析报告》
  13. ps关于计算机logo设计,做LOGO运用ps界面技巧
  14. ISO27000信息安全管理体系
  15. 【微波技术与电路】02 有界空间的微波
  16. 取消磁盘介质写入保护
  17. maven引用公共包_maven怎么 引入(或引用/使用) 自定义(或本地/第三方) jar的三种方式 图文教程-Fun言...
  18. echarts饼图label文字颜色
  19. 88道BAT Java面试题 助你跳槽BAT,轻松应对面试官的灵魂拷问
  20. 《实用软件工程》导图总结

热门文章

  1. Pyinstaller将Python程序打包成EXE(多种模式的打包)
  2. Python ord()函数和chr()函数
  3. python多个装饰器执行顺序_Python面试题之多个装饰器执行顺序
  4. vba fso读utf 文本_利用FSO对象操作文件
  5. html登录界面设计代码_.NET 5 开发WPF - 美食应用登录UI设计
  6. 05丨深入浅出索引(下)
  7. go语言核心编程_Go核心编程 - 语言特性(1)
  8. linux下php远程连接mysql_Linux下PHP远程连接Oracle数据库 | 系统运维
  9. 处女座和小姐姐(二)
  10. 大数据架构师基础:hadoop家族,Cloudera产品系列等各种技术