ANC中文网-gateway基本配置教程
你的位置:ANC中文网 > Metavault Trade中文网 > gateway基本配置教程
gateway基本配置教程
发布日期:2025-01-04 10:43    点击次数:94
1、gateway简介 路由转发 + 执行过滤器链。 网关,旨在为微服务架构提供一种简单有效的统一的API路由管理方式。同时,基于Filter链的方式提供了网关的基本功能,比如:鉴权、流量控制、熔断、路径重写、黑白名单、日志监控等。基本功能如下: 统一入口:暴露出网关地址,作为请求唯一入口,隔离内部微服务,保障了后台服务的安全性鉴权校验:识别每个请求的权限,拒绝不符合要求的请求动态路由:动态的将请求路由到不同的后端集群中 2、gateway核心概念 路由(Route):由一个ID,一个目标URI(最终路由到的url地址),一组断言(匹配条件判断)和一组过滤器定义。如果断言为真,则路由匹配。断言(Predicate):通过断言匹配http请求中的任何内容(请求头、请求参数等),如果匹配成功,则匹配断言所在路由。过滤器(Filter):在请求前后执行业务逻辑,比如鉴权、日志监控、流量控制、修改请求头、修改响应等。 3、路由 4、断言 5、过滤器 5.1、过滤器介绍 按生命周期分类 前置(pre)过滤器: 在请求被路由之前调用:在chain.filter(exchange)前编写过滤器逻辑后置(post)过滤器: 在路由到微服务之后调用:通过chain.filter(exchange).then(Mono.fromRunnable(() -> {过滤器逻辑})实现 按类型分类 局部(GatewayFilter)过滤器:作用在某一个路由上,使用时需要关联指定的路由全局(GlobalFilter)过滤器:作用在所有路由上,不需要在配置文件中配置 5.2、内置局部过滤器与使用 5.3、内置全局过滤器 GatewayMetricsFilter(0):统计一些网关的性能指标RouteToRequestUrlFilter(10000):把浏览器的URL请求的Path路径添加到路由的URI之中。NettyRoutingFilter(2147483647):通过HttpClient客户端转发真实的URL,并存储返回的结果。NettyWriteResponseFilter(-1):在所有的其它的过滤器执行完成之后运行,将响应的数据发送给网关的客户端。ForwardRoutingFilter(2147483647):转发路由过滤器,若URI是forward模式,过滤器会将请求转发到DispatcherHandler来处理请求。ForwardPathFilter(0):解析路径,并将路径转发。LoadBalancerClientFilter(10100):负载均衡,解析服务名,获取真实服务地址。RemoveCachedBodyFilter(-2147483648):清除网关上下文中的缓存的请求Body。WebsocketRoutingFilter(2147483646):如果请求中的ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR 属性对应的URL前缀为 ws 或 wss,会使用Spring Web Socket 模块转发WebSocket请求。WebSockets可以使用路由进行负载均衡。AdaptCachedBodyGlobalFilter(-2147482648):从请求中获取body缓存到网关上下文。 5.4、自定义全局过滤器 创建自定义全局过滤器类 ,实现GlobalFilter和Ordered两个接口。 GlobalFilter:全局过滤拦截器Ordered:拦截器的顺序,数字越低,优先级越高 5.4.1、黑名单校验 5.4.2、模拟登录校验 在过滤器中检查请求中是否携带token请求头。如果token请求头存在则放行;如果token为空或者不存在则返回认证失败状态码。 6、一个简单的gateway配置实例 到此这篇关于gateway基本配置的文章就介绍到这了,更多相关gateway基本配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关资讯