码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【RuoYi-Cloud-Plus】学习笔记 05 - Spring Cloud Gateway(一)关于配置文件参数


    文章目录

      • 前言
      • 参考目录
        • 文档
        • 书籍
      • 1、Gateway 框架配置
      • 2、Gateway 执行过程
      • 3、Gateway 执行原理
      • 4、框架配置参数整理分析
        • 4.1、开启注册中心服务发现集成
        • 4.2、小写服务ID
        • 4.3、负载均衡 `lb`
        • 4.4、Path 路由断言
        • 4.5、前缀网关过滤器

    前言

    关于 Spring Cloud,需要学习的知识点非常多,本篇是学习 Spring Cloud Gateway (以下简称为 Gateway)时一些知识点的汇总,主要围绕着配置文件 ruoyi-gateway.yml 展开。

    参考目录

    文档

    • Spring Cloud Gateway 官方文档
    • 若依文档 - 服务网关

    书籍

    • Spring Cloud微服务和分布式系统实战
      第9章 新网关——Spring Cloud Gateway
    • Spring微服务实战(第2版)
      第8章 使用Spring Cloud Gateway进行服务路由
    • 深入理解Spring Cloud与实战
      第9章 网关
    • Spring Cloud微服务架构进阶
      第8章 API网关:Spring Cloud Gateway

    1、Gateway 框架配置

    ruoyi-gateway.yml
    在这里插入图片描述

    2、Gateway 执行过程

    官方文档说明:

    在这里插入图片描述

    3、Gateway 执行原理

    《Spring Cloud微服务和分布式系统实战》说明:
    在这里插入图片描述

    在这里插入图片描述

    4、框架配置参数整理分析

    以第一个路由配置为例进行说明:

    spring:
      cloud:
        # 网关配置
        gateway:
          # 打印请求日志(自定义)
          requestLog: true
          discovery:
            locator:
              # 断言和过滤器使用小写服务id
              lowerCaseServiceId: true
              # 开启从注册中心动态创建路由的功能
              enabled: true
          routes:
            # 认证中心
            # 路由的ID,没有固定规则但要求唯一,建议配合服务名
            - id: ruoyi-auth
              # 匹配后的目标服务地址,供服务的路由地址
              # 需要注意的是 uri 的协议为 lb,表示启用 Gateway 的负载均衡功能。
              # lb://serviceName 是 spring cloud gateway 在微服务中自动为我们创建的负载均衡 uri
              uri: lb://ruoyi-auth
              # 断言
              predicates:
                # 路径相匹配的进行路由
                - Path=/auth/**
              filters:
                # 验证码处理
                - ValidateCodeFilter
                # StripPrefixGatewayFilterFactory
                # 此过滤器在将请求发送到下游之前从请求中删除路径的第一部分(称为前缀)。
                - StripPrefix=1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    4.1、开启注册中心服务发现集成

    spring.cloud.gateway.discovery.locator.enabled=true
    在这里插入图片描述

    4.2、小写服务ID

    spring.cloud.gateway.discovery.locator.lowerCaseServiceId=true
    在这里插入图片描述

    4.3、负载均衡 lb

    spring.cloud.gateway.routes[0].uri=lb://ruoyi-auth

    uri 参数可以直接填写具体路径,如:http://localhost:8080/ruoyi-auth,这里使用 lb 表示启用负载均衡功能:
    在这里插入图片描述

    4.4、Path 路由断言

    spring.cloud.gateway.routes[0].predicates=[Path=/auth/**]

    关于断言,一共有 12 种断言工厂:

    在这里插入图片描述
    Path 路由断言配置:
    在这里插入图片描述

    Path 路由断言相对简单,只需要匹配相关路径即可。

    PathRoutePredicateFactory#apply
    在这里插入图片描述

    4.5、前缀网关过滤器

    spring.cloud.gateway.routes[0].filters=[StripPrefix=1]

    过滤器种类非常多,默认有 34 种:

    在这里插入图片描述

    在这里插入图片描述

    去掉第一个前缀:

    StripPrefixGatewayFilterFactory#apply
    在这里插入图片描述

    (完)

  • 相关阅读:
    分享一份适合练手的软件测试实战项目
    基于node.js的网页聊天系统设计与实现
    高级篇之ENC1V2新用法USB/RS232串口转Visca-Over-IP
    多线程编程的核心思想
    Servlet学习(七):Cookie
    Java框架(四)--Spring AOP面向切面编程(1)--初识Spring AOP
    Ant Design Modal模态框添加类名后样式不生效
    python封装SDK
    Service Worker是什么?
    MySQL删除数据库(DROP DATABASE语句)
  • 原文地址:https://blog.csdn.net/Michelle_Zhong/article/details/127566997
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号