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

连云港市建设银行网站江苏商城网站建设服务

连云港市建设银行网站,江苏商城网站建设服务,动易后台 网站统计调查 报表类型怎样使用,推广产品Spring Cloud Gateway的工作流程 具体的流程: 用户发送请求到网关 请求断言,用户请求到达网关后,由Gateway Handler Mapping(网关处理器映射)进行Predicates(断言),看一下哪一个符合…

Spring Cloud Gateway的工作流程

Spring Cloud Gateway Diagram

具体的流程:

  1. 用户发送请求到网关

  2. 请求断言,用户请求到达网关后,由Gateway Handler Mapping(网关处理器映射)进行Predicates(断言),看一下哪一个符合路由规则,选择对应的过滤器进行处理

    spring:cloud:gateway:routes:- id: api_routeuri: http://localhost:8123predicates:- Path=/api/**filters:- 'AddRequestHeader=token,wahahaawahaha'
    

    上面是使用application.yml对网关进行路由规则的制定

    1. - id: api_route: 这是路由的标识符。这只是一个名称,可以是任何描述性的名称
    2. uri:http//localhost:8123是表示请求要转发的路径
    3. predicates:断言,比如指定了- Path=/api/**,任何到达网关的请求,如果请求资源定位符是/api/开头的都会进行匹配
    4. 例如:网关的端口是8090,我发送请求http://localhost:8090/api/hello,那么网关就会将请求转发到http://localhost:8123/api/hello,但是转发之前会经过filters,例如上面的AddRequestHeader=source,api,会在请求头加一个<source,api>
  3. 请求过滤:请求到达Gateway Web Handler,里面有很多Filter(过滤器),多个Filter像一个Chain(链条)一样串起来,符合路由断言的请求会先后经过这些Filter进行处理,在FIlter中可以进行限流、访问控制、参数校验、添加请求头等

  4. 服务处理:如果请求经过所有FIlter无异常,会将请求转发给真正的后端进行处理

  5. 响应过滤:后端处理完结果后,返回给Gateway的过滤器再次做处理,逻辑上可以称为 Post-Filters

总结:客户端的请求先通过匹配规则找到合适的路由,就能映射到具体的服务。然后请求经过过滤器处理后转发给具体的服务,服务处理后,再次经过过滤器处理,最后返回给客户端。

常见路由断言规则

Spring Cloud GateWay 路由断言规则

自定义过滤器

如果要定义的过滤器比较复杂,可以使用自定义过滤器

@Component
public class CustomGlobalFilter implements GlobalFilter, Ordered {@Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {// 1. 获取请求头ServerHttpRequest request = exchange.getRequest();String path = INTERFACE_HOST + request.getPath().value();String method = request.getMethod().toString();log.info("请求唯一标识:" + request.getId());log.info("请求路径:" + path);log.info("请求方法:" + method);log.info("请求参数:" + request.getQueryParams());String sourceAddress = request.getLocalAddress().getHostString();log.info("请求来源地址:" + sourceAddress);log.info("请求来源地址:" + request.getRemoteAddress());ServerHttpResponse response = exchange.getResponse();// 2. 访问控制 - 黑白名单if (!IP_WHITE_LIST.contains(sourceAddress)) {response.setStatusCode(HttpStatus.FORBIDDEN);return response.setComplete();}// 3. 用户鉴权return chain.filter(exchange);}// 设置order调用顺序@Overridepublic int getOrder() {return -1;}public Mono<Void> handleNoAuth(ServerHttpResponse response) {response.setStatusCode(HttpStatus.FORBIDDEN);return response.setComplete();}public Mono<Void> handleInvokeError(ServerHttpResponse response) {response.setStatusCode(HttpStatus.INTERNAL_SERVER_ERROR);return response.setComplete();}
}

其实学习SpringCloud Gateway就是进行一些配置,没有什么资料比官方更丰富,所以强烈建议去看官方文档:官方文档

http://www.yayakq.cn/news/711298/

相关文章:

  • 连云港新站优化爱站网做网站吗
  • 沈阳住房建设局网站餐饮行业管理系统
  • 怎么做微网站网站商城网络整合营销
  • 网站开发试验报告做网站管理怎么赚钱
  • 旅游网站开发毕业设计开题报告网站到期可以续费
  • 大连网站建设公司wordpress 数据库崩溃
  • 网站建设的意义是什么做海报找素材的网站
  • 大型网站搜索怎么做的怎么找出网站的备案号
  • 威廉网站建设做系统用哪个网站好
  • 企业营销型网站推广方法投票网站怎么制作
  • 网站设计软件有哪些建设自己的网站
  • 做网站编辑累吗凡客网站网址
  • 全国建筑企业查询平台搜索引擎优化是指什么意思
  • 网站建设 深度网南京医院网站建设
  • 网站多国语言设计it培训机构出来能找到工作吗
  • 网站建设创业规划书商城网站建设制作
  • 博物馆 网站 建设如何自己建网站服务器
  • 电商网站建设策划书模板邢台市网络公司
  • 怎么用ps做静态网站网络营销广告名词解释
  • 网站建设手机端pc端分开最近时政热点新闻
  • 网站备案管理系统预付网站建设费用怎么做分录
  • 表白二维码制作网站建设网站的产品规划
  • 建文帝网站建设广州vi设计平面广告公司
  • 做网站买什么书广州网页设计招聘
  • 免费网站注册com免费软件编程入门自学
  • 网站技术支持是什么湖南商城网站建设
  • 网站收录是什么意思?网站 提示建设中
  • 有哪些h5做的网站网络优化策划书
  • 入侵网站做排名重庆建网站的公司集中在哪里
  • 免费制作封面的网站阿里云服务器一年多少钱