六:SpringCloud:Zuul--路由网关

Zuul是Spring Cloud的一个组件,作为微服务的边缘服务,提供路由转发和过滤器功能。路由功能使得外部请求能统一通过Zuul接入微服务,过滤器则用于请求处理的干预,如校验和聚合。通过配置,Zuul可注册到Eureka并获取微服务信息,实现请求的代理。此外,还能定义路径映射、忽略服务和公共前缀,增强路由灵活性和安全性。
摘要由CSDN通过智能技术生成

Zuul路由网关含义

Zuul包含了请求路由和过滤两个追主要的功能:
其中路由功能主要负责请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,而过滤器功能则负责对请求处理过程进行干涉,是实现请求校验,服务聚合等功能的基础。Zuul和Eureka进行整合后,将Zuul自身注册到未Eureka服务治理下的应用,同时从Eureka获得其他微服务的消息,即以后访问微服务都是通过Zuul来跳转的。

  • Zuul服务最终会被注册到Eureka中
  • 提供 代理+路由+过滤三大功能
    在这里插入图片描述

如上图:最外层代表Eureka,黄色部分为注册进去的Zuul,只有将Zuul注册进去才能去发现其他微服务,每次访问微服务,都必须通过Zuul里进行访问。
1.添加Zuul相关依赖:

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zuul</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>

2。编写配置

server:
  port: 9527
spring:
  application:
    name: springcloud-zuul
eureka:
  client:
    service-url:
      defaultZone: http://localhost:7002/eureka/,http://localhost:7001/eureka/
  instance:
    instance-id: zuul9527.com
    prefer-ip-address: true

3.开启注解
在这里插入图片描述

4.启动测试
通过配置的9527端口进行访问,相当于本地访问,避免暴露真实的微服务
在这里插入图片描述可以通过微服务具体名字来访问:http://www.wangstudy:9527/springcloud-provider/dept/getAll

另外,在配置文件中可以定义其他配置
1.通过定义其他名称来代替真实的微服务名称,即通过源路径和新路径都可以访问

zuul:
  routes:
    mydept.serviceId: springcloud-provider-dept
    mydept.path: /mydept/**

即通过 /mydept/** 代替 springcloud-provider-dept 访问路径变为:http://www.wangstudy:9527 /mydept/dept/getAll

2.指定某个路径不可以访问(可以使用通配符映射批量路径)

zuul:
  ignored-services: springcloud-provider-dept

即设置成无法通过服务名访问

zuul:
  ignored-services: "*" #不能在使用这个路径访问, “*”代表隐藏全部的项目

3.设置公共前缀,即访问路径必须加上此前缀

zuul:
  prefix: /wang #设置公共前缀

访问路径前要加上设置的公共前缀才允许访问,即访问路径变为http://www.wangstudy:9527 /wang/mydept/dept/getAll

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值