| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 【Spring Cloud】gateway详细介绍 -> 正文阅读 |
|
[Java知识库]【Spring Cloud】gateway详细介绍 |
目录
gateway是什么?该项目提供了一个库,用于在 Spring WebFlux 之上构建 API 网关。Spring Cloud Gateway 旨在提供一种简单而有效的方式来路由到 API,并为它们提供横切关注点,例如:安全性、监控/指标和弹性。 特点
词汇表Route:网关的基本构建块。它由 ID、目标 URI、谓词集合和过滤器集合定义。如果聚合谓词为真,则匹配路由。 谓词:这是一个Java 8 函数谓词。输入类型是Spring FrameworkServerWebExchange。这使您可以匹配来自 HTTP 请求的任何内容,例如标头或参数。 过滤器GatewayFilter:这些是使用特定工厂构建的实例。在这里,您可以在发送下游请求之前或之后修改请求和响应。 gateway是如何工作的呢?
路由谓词工厂after_routebefore_routebetween_routecookie_routeheader_routehost_routemethod_routepath_route
query_routeremoteaddr_routeweight_highGatewayFilter工厂-AddRequestHeader-AddRequestParameter-AddResponseHeader-DedupeResponseHeader- Hystrix- CircuitBreaker- RewritePath
对于 的请求路径/red/blue,这会将路径设置为/blue在发出下游请求之前。请注意,由于 YAML 规范,$ 应将其替换为 $\。 FallbackHeaders- MapRequestHeader- PrefixPath=/mypath/mypath这将作为所有匹配请求路径的前缀。因此,/hello将向 发送请求/mypath/hello - PreserveHostHeader- RedirectTo=302, https://acme.org- RemoveRequestHeader=X-Request-Foo这会在将X-Request-Foo标头发送到下游之前将其删除。 - RemoveResponseHeader=X-Response-Foo这将X-Response-Foo在返回给网关客户端之前从响应中删除标头。 - RemoveRequestParameter=red这将在将red参数发送到下游之前将其删除。 - RewritePath=/red(?/?.*), ${segment}对于 的请求路径/red/blue,这会将路径设置为/blue在发出下游请求之前。请注意,由于 YAML 规范, 应 将 其 替 换 为 。 应将其替换为。 应将其替换为。\ - RewriteLocationResponseHeader=AS_IN_REQUEST, Location, ,- RewriteResponseHeader=X-Response-Red, , password=[^&]+, password=***- SaveSession- SetPath=/{segment}对于 的请求路径/red/blue,这会将路径设置为/blue在发出下游请求之前。 - SetRequestHeader=foo, bar-{segment}- SetResponseHeader=foo, bar-{segment}- SetStatus=401- StripPrefix=2
当通过网关向发出请求时/name/blue/red,向 发出的请求nameservice看起来像nameservice/red。 - name: RequestSize
- name: SetRequestHostHeader
针对于上面每个谓词及过滤器,大家可以针对官网进行学习了解。 个人实践application.yml文件
用配置文件中第二个 -id 进行举例说明,浏览器输入:http://localhost:7001/oschina,直接路由到 :https://www.oschina.net 注:① 如果配置多个 -id,这里有一点需要注意的,他们有一个执行顺序,从上至下执行,如果你的服务有先后顺序一定要注意。
总结所学即所得,大家可以参考 官网 进行学习。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 11:30:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |