zdppy_api 中间件请求原理详解

单个中间件的逻辑

整体执行流程:

  • 1、客户端发起请求
  • 2、中间件拦截请求,在请求开始之前执行业务逻辑
  • 3、API服务接收到中间件处理之后的请求,和数据库交互,请求数据
  • 4、数据库返回数据
  • 5、API处理数据库的数据,然后给客户端
  • 6、中间件拦截API服务的响应数据,在响应抵达客户端之前添加业务逻辑
  • 7、将API服务的数据经过中间件处理之后,响应给客户端

多个中间件的执行逻辑

整体执行流程:

  • 1、客户端发起请求
  • 2、中间件拦截请求,在请求开始之前执行业务逻辑,将业务传递给下一个中间件
  • 3、下一个中间件继续,直到所有的中间件都对请求进行了处理
  • 4、API服务接收到中间件处理之后的请求,和数据库交互,请求数据
  • 5、数据库返回数据
  • 6、API处理数据库的数据,然后给客户端
  • 7、中间件拦截API服务的响应数据,将业务传递给下一个中间件
  • 8、下一个中间件继续对响应做处理,直到所有的中间件都处理完毕,再响应给客户端
  • 9、将API服务的数据经过中间件处理之后,响应给客户端

多个中间件执行图解

执行流程:

  • 中间件1处理请求,传递给中间件2
  • 中间件2处理请求,传递给中间件3
  • 中间件3处理请求,传递给API服务
  • 中间件3处理响应,传递给中间件2
  • 中间件2处理响应,传递给中间件1
  • 中间件1处理响应,传递给客户端
相关推荐
佳腾_6 小时前
【高性能缓存Redis_中间件】三、redis 精通:性能优化与生产实践
redis·缓存·云原生·中间件·云计算
屋昂仼6 小时前
Express中间件(Middleware)详解:从零开始掌握(4)
中间件·express
佳腾_1 天前
【高性能缓存Redis_中间件】一、快速上手redis缓存中间件
redis·缓存·云原生·中间件·高缓存
西岭千秋雪_1 天前
Sentinel核心算法解析の滑动窗口算法
分布式·算法·spring cloud·微服务·中间件·sentinel
老马啸西风1 天前
Neo4j GDS-08-neo4j GDS 库中路径搜索算法介绍
网络·数据库·算法·云原生·中间件·neo4j·
老马啸西风1 天前
Neo4j GDS-13-neo4j GDS 库中节点插入算法实现
数据库·算法·云原生·中间件·embedding·neo4j
乄北城以北乀1 天前
muduo库源码分析: TcpConnection
网络·c++·后端·中间件
weisian1511 天前
中间件--ClickHouse-1--基础介绍(列式存储,MPP架构,分布式计算,SQL支持,向量化执行,亿万级数据秒级查询)
clickhouse·中间件·架构
还是鼠鼠1 天前
Node.js 跨域 CORS 简单请求与预检请求的介绍
运维·服务器·vscode·中间件·node.js·express
Thuni_soft2 天前
华宇TAS应用中间件与联奕科技多款软件产品完成兼容互认证
科技·中间件