Gateway(微服务网关:路由转发、权限校验、限流控制)扫盲知识

本文深入介绍了SpringCloud Gateway的特性及其实现原理,包括其与Zuul的区别、响应式编程组件的应用、核心逻辑与工作流程,并提供了配置示例和自定义过滤器的实现。
  1. SpringCloud Gateway是什么
    SpringCloud Gateway使用的webflux中的reactor-netty响应式编程组件,底层使用了netty通讯框架.
    在这里插入图片描述

  2. SpringCloud Gateway特性
    在这里插入图片描述

  3. SpringCloud Gateway和Zuul的区别
    在这里插入图片描述

  4. Zuul1.x模型
    在这里插入图片描述
    缺点:
    在这里插入图片描述

  5. SpringCloud Gateway是基于WebFlux框架实现的,那么WebFlux框架是什么?
    在这里插入图片描述

  6. GateWay的三大概念
    在这里插入图片描述
    图片引用链接

  7. GateWay的核心逻辑和工作流程
    核心逻辑: 路由转发+ 执行过滤器链
    工作流程:
    在这里插入图片描述
    在这里插入图片描述

  8. 网关路由的配置方式

  • 在配置文件yml中配置(简单)

    server:
      port: 9527
    
    spring:
      application:
        name: cloud-gateway
      cloud:
        gateway:
          discovery:
            locator:
              enabled: true                 # 开启从注册中心动态创建路由的功能,利用微服务名进行路由
          # 路由是有id、uri、predicate(断言)、一系列filter(过滤器)组成
          routes:
            - id: payment_routh             # 路由的id,没有固定规则但是要求唯一,建议配合服务名
              # localhost:9527即调用该微服务,比如localhost:9527/payment/get/1即调用localhost:8001/payment/get/1或者localhost:8002/payment/get/1
              uri: lb://cloud-payment-service # lb://表示基于服务注册的负载均衡
    #          uri: http://localhost:8001    # 匹配后提供服务的路由地址(手动执行服务实例,太笨拙)
              predicates:
                - Path=/payment/get/**      # 断言,路径相匹配的进行路由
    
            - id: payment_routh2
              uri: lb://cloud-payment-service # lb://表示基于服务注册的负载均衡
    #          uri: http://localhost:8002(手动执行服务实例,太笨拙)
              predicates:
                - Path=/payment/lb/**
    #            - After=2020-12-05T14:35:53.747+08:00[Asia/Shanghai]       # 在这个时间点之后该路由才生效
    #            - Before=2020-12-05T15:35:53.747+08:00[Asia/Shanghai]       # 在这个时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值