echarts typeScript namespace acm scope pygame notifications react router ip Component formvalidator.js 郑州网站开发 angular视频 jq获取第一个子元素 python查看数据类型 c语言求和 mac上传文件到linux linux管道符 python线程 python算法 python使用教程 java实现栈 java新建文件 java求阶乘 java文件路径 java比较字符串 java文件输入输出 vb编程 windows7loader stretchcolumns 美国地址生成器 flash制作工具 msn格式 maya2016教程 js文件上传 ps从入门到精通 联想小新键盘灯怎么开 保卫萝卜沙漠7攻略 编写软件 nginx启动命令
当前位置: 首页 > 学习教程  > 编程语言

Spring Cloud教程 第一弹 第二代网关spring cloud gateway

2020/10/16 18:08:42 文章标签:

1、核心概念 1.1、路由route 路由是网关最基础的部分。路由信息由一个ID、一个目的url、一组断言工厂和一组Filter组成。如果路由断言为真,则说明请求的url和配置的路由匹配。 1.2、断言predicate Java8中的断言函数。spring cloud gateway中的断言函数输入类型是…

1、核心概念

1.1、路由route

路由是网关最基础的部分。路由信息由一个ID、一个目的url、一组断言工厂和一组Filter组成。如果路由断言为真,则说明请求的url和配置的路由匹配。

 

1.2、断言predicate

Java8中的断言函数。spring cloud gateway中的断言函数输入类型是spring5.0框架中的ServerWebExchange。spring cloud gateway中的断言函数允许开发者去定义来自于Http Request中的任何信息,比如请求头和参数等。

 

1.3、过滤器filter

一个标准的spring webfilter。spring cloud gateway中的filter分为两种类型:分别是gateway filter和global filter

 

2、工作原理

  1. gateway客户端向gateway发起请求
  2. 请求首先被HttpWebHandlerAdapter进行提取组装成网关的上下文
  3. 然后网关上下文会传递到DispatcherHandler
  4. DispatcherHandler是所有请求的分发处理器,主要负责分发请求对应的处理器。比如将请求分发到对应的RoutePredicate-HandlerMapping(路由断言处理映射器)
  5. 路由断言处理映射器主要用于路由的查找,以及找到路由后返回对应的FilterWebHandler
  6. FilterWebHandler主要负责组装Filter链表并调用Filter执行一系列的Filter处理,然后把请求转到后端对应的代理服务处理
  7. 处理完毕后,将response返回给gateway客户端

注意:

  • 过滤器分为Pre和Post,分别在转发请求之前处理和接收到代理服务返回的结果之后处理
  • 在配置路由时,如果不指定端口,则http默认端口为80,https默认端口为443
  • gateway目前只支持netty容器

 

 

 

 

 

 

 

 

 

 

 

 


本文链接: http://www.dtmao.cc/news_show_300381.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?