千家信息网

SpringCloud中Zuul服务网关的示例分析

发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,这篇文章给大家分享的是有关SpringCloud中Zuul服务网关的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、什么是Zuul  zuul 是netflix开
千家信息网最后更新 2025年11月06日SpringCloud中Zuul服务网关的示例分析

这篇文章给大家分享的是有关SpringCloud中Zuul服务网关的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

  一、什么是Zuul

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

    Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。

    zuul的例子可以参考netflix在github上的 simple webapp,可以按照netflix 在github wiki 上文档说明来进行使用。

  二、解决了什么问题

  三、入门案例

  1.创建项目

    创建一个SpringBoot项目

  2.修改pom文件

    注意添加zuul的依赖

  org.springframework.cloud

  spring-cloud-dependencies

  Dalston.SR5

  pom

  import

  org.springframework.boot

  spring-boot-starter-web

  org.springframework.cloud

  spring-cloud-starter-eureka

  org.springframework.cloud

  spring-cloud-starter-zuul

  org.springframework.boot

  spring-boot-maven-plugin

  3.修改配置

    application.properties中添加服务名称,端口和Eureka注册中心的信息即可

  spring.application.name=zuul-gateway

  server.port=9020

  #\u8BBE\u7F6E\u670D\u52A1\u6CE8\u518C\u4E2D\u5FC3\u5730\u5740\uFF0C\u6307\u5411\u53E6\u4E00\u4E2A\u6CE8\u518C\u4E2D\u5FC3

  eureka.client.serviceUrl.defaultZone=http://dpb:123456@eureka1:8761/eureka/,http://dpb:123456@eureka2:8761/eureka/

  4.启动类

    启动类中注意要添加zuul的注解

  @SpringBootApplication

  @EnableZuulProxy

  public class StartZuul {

  public static void main(String[] args) {

  SpringApplication.run(StartZuul.class, args);

  }

  }

  5.测试

    我们随便启动一个前面的服务。

  我这启动的是上个案例中的一个product服务,如果需要源码欢迎访问我的GitHub:https://github.com/q279583842q/SpringCloud-dpb-Demo

  直接访问:http://localhost:9001/product/findAll

  通过zuul服务网关访问:http://localhost:9020/e-book-product/product/findAll

  http://网关服务地址:网关服务端口/访问的服务的名称/访问的服务中的接口的地址

  四、路由规则

    为了便于演示,路由案例新建一个项目来演示,内容和上面的项目是一致的。

  1.URL 指定路由

    application.properties中的配置如下:

  spring.application.name=zuul-gateway

  server.port=9030

  #\u8BBE\u7F6E\u670D\u52A1\u6CE8\u518C\u4E2D\u5FC3\u5730\u5740\uFF0C\u6307\u5411\u53E6\u4E00\u4E2A\u6CE8\u518C\u4E2D\u5FC3

  eureka.client.serviceUrl.defaultZone=http://dpb:123456@eureka1:8761/eureka/,http://dpb:123456@eureka2:8761/eureka/

  zuul.routes.e-book-product-provider.path=/bobo/**

  zuul.routes.e-book-product-provider.url=http://127.0.0.1:9001/

  说明:

  zuul.routes.e-book-product-provider.path

  zuul.routes是固定的,e-book-product-provider自定义,path是固定的

  /bobo/** 表示 请求的url地址

  zuul.routes.e-book-product-provider.url=http://127.0.0.1:9001/

  表示,当用户的请求是 http://xxx/bobo/** 路由到http://127.0.0.1:9001/服务处理

  2.服务名称指定路由

  方式一

  zuul.routes.e-book-product-provider.path=/bobo/**

  zuul.routes.e-book-product-provider.serviceId=e-book-product-provider

  说明

  当用户请求的url是:http://xxxx/bobo/product/findAll 这种方式的时候,会调用

  zuul.routes.e-book-product-provider.serviceId=e-book-product-provider的

  e-book-product-provider服务来处理请求

  方式二

  zuul.routes.e-book-product-provider.path=/bobo/**

  说明:无锡人流多少钱 http://mobile.bhnfkyy.com/

  zuul.routes.e-book-product-provider.path=/bobo/**

  此时routes和path之间的必须是路由的服务名称

  3.路由的排除方式

    排除路由,也就是该路由器会忽悠某几个服务,即使客户端发送了请求也访问不了

  zuul.ignored-services=e-book-product

  如果有多个服务要排除,服务名称通过","连接

  zuul.ignored-services=e-book-product,e-book-order

  由于服务太多,不可能手工一个个加,故路由排除所有服务,然后针对要

  路由的服务进行手工加

  # 先忽略所有的请求

  zuul.ignored-services=*

  # 然后单独放开e-book-order的服务

  zuul.routes.e-book-order.path=/bobo/**

  也可以通过排除指定关键字的路径

  # 排除所有含有findAll关键字的请求

  zuul.ignored-patterns=/**/findAll/**

  # 放开e-book-order服务,同时也会排除 findAll的请求

  zuul.routes.e-book-order.path=/bobo/**

  4.指定路由前缀

    也就是给提前的url添加一个前缀

  ## http://127.0.0.1:9030/bobo/product-provider/product/findAll

  zuul.prefix=/bobo

  zuul.routes.e-book-product.path=/product-provider/**

感谢各位的阅读!关于"SpringCloud中Zuul服务网关的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

服务 路由 网关 名称 方式 项目 内容 地址 案例 示例 分析 也就是 关键 关键字 前缀 手工 更多 用户 端口 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 菏泽管理系统软件开发哪家靠谱 数据库索引什么时候加载 方舟生存进化服务器不一样 h3c服务器好还是华为好 虚拟云主机和云服务器哪个好 网络安全评估报告分析 学习软件开发从哪学 深圳dns服务器没有响应 计算机网络技术属于技术类专业吗 被ieee数据库收录的论文 网络安全小知识手抄报一年级 网络安全馆直播郑州高新区 网络安全法自几几年实行 中铁四局数据库 csgo有几个服务器 学生网络安全事项 开源数据库是什么 王者荣耀如何免费转服务器 宝塔系统数据库root 什么时候需要升级服务器 昆明上海万户网络技术有限公司 软件开发好还是sdk好 数据库的核心数据模型 服务器内存和普通内存有多大 什么是数据库检索报告 阿里云服务器安装SQL 在数据库技术中实体联系 数据库的索引是不是越多越好 手机的数据库文件残留 数据库得分排行榜
0