大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
3.5.Gateway网关的概念
之前的操作,我们有了管理他的配置中心和注册中心。下一步我们就要配置网关了。
于是,问题就要回到什么是网关?
以及为什么要配置网关
上来了。
先聊聊为什么要配置网关。
注册中心相当于对各种服务进行调度,把他们安排的明明白白的。但注册中心能力再打,他也没办法安置前端的请求,让他们一一入座,也没办法对一些恶意请求进行拦截。
问题就出现了,前端服务此时只能自己在配置里改变请求的位置,而且,每次改变请求就要更改配置,重新上线。
恶意请求也无法拦截。
这显然是不合理的。
于是,网关出现了。
网关是通过断言
(Predicate)对前端请求进行管理的,以及拦截器
(Filter)对恶意请求进行拦截的东西。它的出现就恰好解决了我们刚才提到的问题。
常用的网关有zuul
&linked
以及我们今天的主角Spring-Cloud Gateway
。
详细
-
Gateway网关的三大核心
-
Route(路由): The basic building block of the gateway. It is defined by an ID, a destination URI, a collection of predicates断言, and a collection of filters. A route is matched if the aggregate predicate is true.发一个请求给网关,网关要将请求路由到指定的服务。路由有id,目的地uri,断言的集合,匹配了断言就能到达指定位置,
-
Predicate(断言): This is a Java 8 Function Predicate. The input type is a Spring Framework ServerWebExchange. This lets you match on anything from the HTTP request, such as headers or parameters.就是java里的断言函数,匹配请求里的任何信息,包括请求头等。根据请求头路由哪个服务
-
Filter(拦截器): These are instances of Spring Framework GatewayFilter that have been constructed with a specific factory. Here, you can modify requests and responses before or after sending the downstream request.过滤器请求和响应都可以被修改。
工作原理图
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183154.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...