GateWay得使用

1. 网关介绍

网关作为流量得入口,常用得功能包括路由转发,权限校验,限流等

2. 核心概念

路由
  路由是网关中最基础得部分,路由信息包括一个ID,一个目的URI,一组谓词工厂,一组filter组成。如果谓词为真,则说明请求得URL和配置得路由匹配。
谓词
   Gateway使用Predicate实现路由得匹配条件
 过滤器
   SpringCloud Gateway中得flter分为Gateway Filter和Global Filter. Filter可以对请求和响应进行处理。

3. 工作原理

![在这里插入图片描述](https://img-blog.csdnimg.cn/72683cf04b0646f8bda465d5c1d44bed.png)
  • 客户端向 Spring Cloud Gateway 发出请求
  • 如果 Gateway Handler Mapping 找到与请求相匹配的路由,将其发送到 Gateway Web Handler
  • Handler 再通过指定的 过滤器链 来将请求发送到我们实际的服务执行业务逻辑,然后返回
  • 过滤器之间用虚线分开是因为过滤器可能会在发送代理请求之前(“pre”)或之后(“post”)执行业务逻辑

4.快速入门

  • 引入maven配置
 <!--  gateway网关-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

-配置文件配置

spring:
  cloud:
    gateway:
      discovery:
        locator:
          #默认值是false,如果设为true开启通过微服务创建路由的功能,即可以通过微服务名访问服务
          #http://localhost:13001/argus-application/order/create
          #不建议打开,因为这样暴露了服务名称
          enabled: true

其中13001是网关服务得端口,然后argus-analysis-application是被调用方得服务名称,这里可以发现服务名称其实是暴漏出来了,不太优雅

5.谓词工厂配置

  • gateway网关中uri得配置方式有3种
    第一种:ws(websocket)方式: uri: ws://localhost:9000
    第二种:http方式: uri: http://localhost:8130/
    第三种:lb(注册中心中服务名字)方式: uri: lb://brilliance-consumer
  • Cookie信息携带
    gateway:
      routes:
      - id: hailtaxi-driver
        uri: lb://hailtaxi-driver
        predicates:
        - Path=/driver/**
        - Cookie=username,ithei
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值