当前位置: 首页 > news >正文

两天学会微服务网关Gateway-Gateway路由规则

锋哥原创的微服务网关Gateway视频教程:

Gateway微服务网关视频教程(无废话版)_哔哩哔哩_bilibiliGateway微服务网关视频教程(无废话版)共计17条视频,包括:1_Gateway简介、2_Gateway工作原理、3_Gateway HelloWorld快速入门等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1oX4y1u7ZJ/

4.1 路由断言工厂

Spring Cloud Gateway将路由作为Spring WebFluxHandlerMapping基础架构的一部分进行匹配。Spring Cloud Gateway包括许多内置的路由断言工厂。所有这些断言都与HTTP请求的不同属性匹配。您可以将多个路由断言工厂与逻辑and语句结合使用。

路由断言工厂RoutePredicateFactory包含的主要实现类如图所示,包含Datetime、Cookie、Header、Host、Method、Path、Query、RemoteAddr、Weight等类型的路由断言。

4.2 日期时间路由匹配规则

匹配指定日期时间之后的请求 After

spring:application:name: gateway-servercloud:gateway:routes:- id: after_routeuri: http://localhost:8080/predicates:- After=2021-04-20T06:06:06+08:00[Asia/Shanghai]

匹配指定日期时间之前的请求 Before

spring:application:name: gateway-servercloud:gateway:routes:- id: before_routeuri: http://localhost:8080/predicates:- Before=2021-04-20T06:06:06+08:00[Asia/Shanghai]

匹配指定日期时间之间的请求 Between

spring:application:name: gateway-servercloud:gateway:routes:- id: betwwen_routeuri: http://localhost:8080/predicates:- Between=2021-01-20T06:06:06+08:00[Asia/Shanghai],2021-04-20T06:06:06+08:00[Asia/Shanghai]

4.3 Cookie路由匹配规则

所述Cookie路由断言工厂采用两个参数,该cookiename和regexp(其是Java正则表达式)。该断言匹配具有给定名称且其值与正则表达式匹配的cookie。以下示例配置cookie路由断言工厂:

spring:application:name: gateway-servercloud:gateway:routes:- id: cookie_routeuri: http://localhost:8080/predicates:- Cookie=token, \d+

4.4 Header路由匹配规则

所述Header;路由断言工厂采用两个参数,报头name和一个regexp(其是Java正则表达式)。该断言与具有给定名称的头信息匹配,该标头的值与正则表达式匹配。以下示例配置Header路由断言:

spring:application:name: gateway-servercloud:gateway:routes:- id: header_routeuri: http://localhost:8080/predicates:- Header=X-Request-Id, \d+

4.5 Host路由匹配规则

该`Host`路由断言工厂需要一个参数:主机名的列表`patterns`。该模式是带有.分隔符的Ant样式的模式。断言与`Host`匹配模式的标头匹配。以下示例配置主机路由断言:

spring:application:name: gateway-servercloud:gateway:routes:- id: host_routeuri: http://localhost:8080/predicates:- Host=**.somehost.org,**.anotherhost.org

4.6 Method路由匹配规则

所述Method路由断言厂需要methods的参数,它是一个或多个参数:HTTP方法来匹配。以下示例配置方法路由断言:

spring:application:name: gateway-servercloud:gateway:routes:- id: method_routeuri: http://localhost:8080/predicates:- Method=GET,POST

4.7 Path路由匹配规则

Path路由断言厂有两个参数:春天的列表PathMatcher patterns和一个可选的标志叫matchOptionalTrailingSeparator。以下示例配置路径路由断言:

spring:application:name: gateway-servercloud:gateway:routes:- id: path_routeuri: http://localhost:8080/predicates:- Path=/product/{segment}

4.8 Query路由匹配规则

所述Query路由断言工厂采用两个参数:所要求的param和可选的regexp(其是Java正则表达式)。以下示例配置查询路由断言:

spring:application:name: gateway-servercloud:gateway:routes:- id: query_routeuri: http://localhost:8080/predicates:- Query=green

如果请求包含green查询参数,则前面的路由匹配。

4.9 RemoteAddr路由匹配规则

所述RemoteAddr路由断言工厂需要的列表(分钟尺寸1) sources,其是CIDR的表示法(IPv4或IPv6)的字符串,如192.168.0.1/16(其中192.168.0.1是一个IP地址和16一个子网掩码)。下面的示例配置RemoteAddr路由断言:

spring:cloud:gateway:routes:- id: remoteaddr_routeuri: https://example.orgpredicates:- RemoteAddr=192.168.1.1/24

如果请求的远程地址为上面配置,则此路由匹配192.168.1.10。

4.10 Weight路由匹配规则

Weight路由断言工厂有两个参数:groupweight(一个int)。权重是按组计算的。以下示例配置权重路由断言:

spring:cloud:gateway:routes:- id: weight_highuri: https://weighthigh.orgpredicates:- Weight=group1, 8- id: weight_lowuri: https://weightlow.orgpredicates:- Weight=group1, 2

这条路线会将大约80%的流量转发到weighthigh.org,将大约20%的流量转发到weightlow.org。

相关文章:

两天学会微服务网关Gateway-Gateway路由规则

锋哥原创的微服务网关Gateway视频教程: Gateway微服务网关视频教程(无废话版)_哔哩哔哩_bilibiliGateway微服务网关视频教程(无废话版)共计17条视频,包括:1_Gateway简介、2_Gateway工作原理、3…...

three.js如何实现简易3D机房?(一)基础准备-下

three.js如何实现简易3D机房?(一)基础准备-上&#xff1a;http://t.csdnimg.cn/MCrFZ 目录 四、按需引入 五、导入模型 四、按需引入 index.vue文件中 <template><div class"three-area"><div class"three-box" ref"threeDemoRef…...

Android高级工程师面试实战,三幅图给你弄懂EventBus核心原理

阿里技术一面-35min 自我介绍 Android 有没有遇到OOM问题(有遇到内存泄漏问题)Handler机制ThreadLocalActivity启动到加载View过程View绘制过程LinearLayout (wrap_content) & TextView (match_parent) 最终结果???OKHttp(1. 为什么选择它&#xff1f; 2. 性能了解不…...

消息队列-kafka-服务端处理架构(架构,Topic文件结构,服务端数据的一致性)

服务端处理架构 资料来源于网络 网络线程池&#xff1a; 接受请求&#xff0c;num.network.threads&#xff0c;默认为 3&#xff0c;专门处理客户的发送的请求。 IO 线程池&#xff1a; num.io.threads&#xff0c;默认为 8&#xff0c;专门处理业务请求。也就是它不负责发…...

ES之API系列--index template(索引模板)的用法(有实例)

原文网址&#xff1a;ES之API系列--index template(索引模板)的用法(有实例)_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍ElasticSearch的index template(索引模板)的用法(有实例)。 官网网址 https://www.elastic.co/guide/en/elasticsearch/reference/8.0/index-temp…...

electron+vue3全家桶+vite项目搭建【28】封装窗口工具类【2】窗口组,维护窗口关系

文章目录 引入实现效果思路主进程模块渲染进程模块测试效果 引入 demo项目地址 窗口工具类系列文章&#xff1a; 封装窗口工具类【1】雏形 封装窗口工具类【2】窗口组&#xff0c;维护窗口关系 封装窗口工具类【3】控制窗口定向移动 我们思考一下窗口间的关系&#xff0c;窗…...

docker安装ES和kibana

文章目录 一、安装Elasticsearch1. 安装Elasticsearch2. 安装IK分词器3. elasticsearch-head 监控的插件4. 配置跨域 二、安装kibana 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、安装Elasticsearch 1. 安装Elasticsearch 安装Elasticsearch参…...

uniapp微信小程序获取当前位置

uni-app微信小程序uni.getLocation获取位置&#xff1b;authorize scope.userLocation需要在app.json中声明permission&#xff1b;小程序用户拒绝授权后重新授权-CSDN博客...

HarmonyOS创建项目和应用—设置数据处理位置

项目和应用介绍 关于项目 项目是资源、应用的组织实体。资源包括服务器、数据库、存储&#xff0c;以及您的应用、终端用户的数据等。在您使用部分服务时&#xff0c;您是数据的控制者&#xff0c;数据将按照您设置的数据处理位置来存储在指定区域。 通常&#xff0c;您不需…...

3.1_2024ctf青少年比赛部分web题

php后门 根据x-powered-by知道php的版本 该版本存在漏洞&#xff1a; PHP 8.1.0-dev 开发版本后门 根据报错信息&#xff0c;进行提示&#xff0c;前 GET / HTTP/1.1 Host: challenge.qsnctf.com:31639 User-Agentt:12345678system(cat /flag);var_dump(2*3);zerodium12345678…...

Vue3:OptionsAPI 与 CompositionAPI的比较

1、Vue2 Vue2的API设计是Options&#xff08;配置&#xff09;风格的。 Options API 的弊端 Options类型的 API&#xff0c;数据、方法、计算属性等&#xff0c;是分散在&#xff1a;data、methods、computed中的&#xff0c;若想新增或者修改一个需求&#xff0c;就需要分别…...

Rust! 无VDom! 尤雨溪解析 Vue.js 2024 新特性

视频号搜索“云前端”观看视频版 在 VueJS Amsterdam 2024 大会首日&#xff0c;Vue 创始人 Evan You 进行了开场主旨演讲。他首先回顾了 Vue 十年以来的累累硕果&#xff0c;指出 VueJS 从一个视图层工具&#xff0c;成功演化出全流程的社区生态。 Vue 3.4 谈到 Vue 3 的发展时…...

Windows上websocket客户端连接定时存储消息到文件并加载文件定时发送服务端工具实现

场景 在业务开发中&#xff0c;需要对接三方websocket协议数据或者连接并存储线上websocket协议数据&#xff0c;需要使用websocket客户端 连接线上的websocket服务端获取并存储数据&#xff0c;然后将数据存储成文件格式可移植&#xff0c;并将数据复制 到本地&#xff0c;…...

【STM32+OPENMV】二维云台颜色识别及追踪

一、准备工作 有关OPENMV最大色块追踪及与STM32通信内容&#xff0c;详情见【STM32HAL】与OpenMV通信 有关七针OLED屏显示内容&#xff0c;详情见【STM32HAL】七针OLED(SSD1306)配置(SPI版) 二、所用工具 1、芯片&#xff1a;STM32F407ZGT6 2、CUBEMX配置软件 3、KEIL5 4…...

JavaScript基础3之面向对象关于面向过程、函数式编程、对比、构造函数、原型

JavaScript基础 面向对象面向过程函数式编程命令式编程函数式编程特性副作用透明引用不可变变量函数是一等公民 常见的函数式编程模型 面向对象为什么要使用面向对象封装继承多态 对比面向过程函数式编程面向对象 构造函数原型constructor使用场景 对象原型 面向对象 面向过程…...

运用Tensorflow进行目标检测

对象检测是一种计算机视觉技术&#xff0c;它使软件系统能够从给定的图像或视频中检测、定位并跟踪物体。对象检测的一个特殊属性是它能识别对象的类别&#xff08;如人、桌子、椅子等&#xff09;并在给定图像中指出其具体位置坐标。这个位置通常通过在物体周围绘制一个边界框…...

【源码】imx6ull实现触摸屏单点实验-移植tslib和qt

一、本实验实验的器材&#xff1a; 1.正点原子imx6ull的阿尔法开发板v2.2 2.屏幕ALIENTEK 4.3 RGBLCD 二、实验已经移植好的文件&#xff1a; 仓库代码&#xff1a;https://gitee.com/wangyoujie11/atkboard_-linux_-driver.git 1.文件说明 arm-qt.tar.bz2&#xff1a;移植好的…...

【JSON2WEB】07 Amis可视化设计器CRUD增删改查

总算到重点中的核心内容&#xff0c;CRUD也就是增删改查&#xff0c;一个设计科学合理的管理信息系统&#xff0c;95%的就是CRUD&#xff0c;达不到这个比例要重新考虑一下你的数据库设计了。 1 新增页面 Step 1 启动amis-editor Setp 2 新增页面 名称和路径随便命名&#xf…...

ThreeJs同一个场景多个相机的显示

在threeJs开发数字孪生中&#xff0c;我们正常是需要使用一个相机&#xff0c;画面显示的内容也就是这个相机拍摄到的内容&#xff0c;但是是否可以添加多个相机&#xff0c;可以同时从不同角度观察模型呢&#xff0c;实际上是可以的&#xff0c;不过多个相机的拍摄到的画面肯定…...

Vue基础篇

Vue Vue是一套用于构建用户界面的渐进式JavaScript框架 什么是渐进式? Vue可以自底向上逐层地应用; 当构建简单应用时, 只需一个轻量小巧的核心库; 当构建复杂应用时, 可以引入各式各样的Vue插件 Vue具有以下特点: 采用组件化模式, 提高代码复用率且让代码更好维护 声明式编…...

忍者像素绘卷一文详解:Z-Image-Turbo加速模型+Masashi Kishimoto风格注入

忍者像素绘卷一文详解&#xff1a;Z-Image-Turbo加速模型Masashi Kishimoto风格注入 1. 创作理念与技术亮点 忍者像素绘卷是一款革命性的图像生成工具&#xff0c;它将传统忍者漫画的热血精神与现代AI技术完美结合。这款工具基于Z-Image-Turbo深度优化&#xff0c;专为16-Bit…...

Git 本地版本控制极简使用笔记(Qt 项目专用)

核心原则全程仅需掌握5 个核心命令&#xff0c;满足日常开发、版本记录、回滚修复的全部需求&#xff0c;无需复杂操作&#xff0c;适配传感器环筛管理平台项目一、基础准备&#xff08;已完成&#xff0c;备查&#xff09;1. 仓库初始化&#xff08;仅执行 1 次&#xff09;# …...

iMeta | 浙江农科院卢立志/曾涛联合中南大学湘雅医院揭示人参皂苷Rg3缓解肝脏铁死亡的新机制

点击蓝字 关注我们一种生物活性人参皂苷改善非酒精性脂肪性肝炎中氧化磷脂积累引起的肝细胞铁死亡iMeta主页&#xff1a;http://www.imeta.science研究论文● 原文: iMeta(IF 33.2, 中科院双一区Top)● 英文题目: A bioactive ginsenoside alleviates hepatocellular ferroptos…...

Phi-3-mini-4k-instruct-gguf免配置环境:开箱即用的Web UI,开发者5分钟上手

Phi-3-mini-4k-instruct-gguf免配置环境&#xff1a;开箱即用的Web UI&#xff0c;开发者5分钟上手 1. 认识Phi-3-mini-4k-instruct-gguf Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个模型特别适合处理问答、文本改写、摘要整理和简短创…...

从图像处理到推荐系统:特征值不等式在工程中的5个妙用

从图像处理到推荐系统&#xff1a;特征值不等式在工程中的5个妙用 在工程实践中&#xff0c;数学工具往往能带来意想不到的优化效果。特征值不等式作为线性代数中的重要结论&#xff0c;其应用范围远超理论推导&#xff0c;能解决图像处理、推荐系统等多个领域的实际问题。本文…...

Linux音频音量太小?别急着改代码,试试amixer这个终端神器

Linux音频音量调整终极指南&#xff1a;告别代码级修改&#xff0c;掌握amixer命令行艺术 当你在深夜调试语音识别项目时&#xff0c;突然发现树莓派录制的样本几乎听不见&#xff1b;或是准备录制技术教程视频时&#xff0c;Ubuntu系统的输出音量小得可怜——这种场景下&#…...

非参数回归实战:从理论到Python实现

1. 非参数回归&#xff1a;当数据拒绝被简单定义时 记得第一次接触回归分析时&#xff0c;老师用"用直线拟合数据点"来解释线性回归。但当我把这个方法用在实际项目中时&#xff0c;发现很多数据根本不像教科书里画的那样规整。那些弯弯曲曲的数据点&#xff0c;像是…...

Ubuntu下USRP X300 FPGA固件降级实录:从‘need 38 but got 39’报错到完美兼容GNURadio

Ubuntu下USRP X300 FPGA固件降级实战&#xff1a;从版本冲突到完美兼容GNURadio的完整指南 当USRP X300的FPGA固件版本与GNURadio所需的版本不匹配时&#xff0c;终端里那个刺眼的"need 38 but got 39"报错足以让任何软件无线电开发者抓狂。这种版本冲突问题在Ubuntu…...

网站关键词排名变化规律是什么_网站关键词排名优化对SEO的重要性是什么

网站关键词排名变化规律是什么_网站关键词排名优化对SEO的重要性是什么 在当今数字化时代&#xff0c;网站的SEO优化是一个至关重要的领域。其中&#xff0c;关键词排名的变化规律和关键词排名优化对SEO的重要性尤为关键。本文将详细探讨这两方面的内容&#xff0c;帮助你更好…...

Qwen3.5-9B开源可部署实践:国产昇腾910B适配方案(CANN+PyTorch NPU移植)

Qwen3.5-9B开源可部署实践&#xff1a;国产昇腾910B适配方案&#xff08;CANNPyTorch NPU移植&#xff09; 1. 项目概述 Qwen3.5-9B是一款拥有90亿参数的开源大语言模型&#xff0c;具备强大的逻辑推理、代码生成和多轮对话能力。该模型特别针对国产昇腾910B处理器进行了优化…...