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处理响应,传递给客户端
相关推荐
p***q789 小时前
docker离线安装及部署各类中间件(x86系统架构)
docker·中间件·系统架构
k***z111 天前
国产化中间件东方通TongWeb环境安装部署(图文详解)
中间件
5***r9352 天前
开源数据同步中间件(Dbsyncer)简单玩一下 mysql to mysql 的增量,全量配置
mysql·中间件·开源
q***06472 天前
SocketTool、串口调试助手、MQTT中间件基础
单片机·嵌入式硬件·中间件
f***24112 天前
【中间件】Pulsar集群安装
中间件
利刃大大3 天前
【c++中间件】redis介绍 && redis-plus-plus库使用
c++·redis·中间件
晨欣3 天前
中间件:IT世界的“中场发动机”与“超级粘合剂”(Gemini 3 pro 回答)
中间件
百***93503 天前
【Golang】——Gin 框架中间件详解:从基础到实战
中间件·golang·gin
Zhao·o4 天前
KafkaMQ采集指标日志
运维·中间件·kafka
利刃大大4 天前
【c++中间件】WebSocket介绍 && WebSocketpp库的使用
c++·websocket·中间件