Spring AI 番外篇01:MCP Streamable HTTP 模式
返回目录
Spring AI 从 1.1.0-M1(里程碑版本) 开始正式支持 MCP 的 Streamable HTTP 模式。该版本解决了此前 1.0.x 版本仅支持 SSE 协议的局限,新增断线重连、会话恢复等核心能力,同时提供 WebFlux/WebMVC 两种编程模型的 Starter 支持。
为什么 MCP 规范要转向 Streamable HTTP 模式?
- 解决连接不可恢复问题
- HTTP + SSE 缺陷:SSE(服务器发送事件)连接一旦中断,客户端无法从中断点恢复,只能重新建立连接,导致上下文丢失和用户体验下降
- Streamable HTTP 改进:支持会话状态管理,允许客户端在断线后重新连接并恢复之前的会话,保障了通信的连续性
- 降低服务器资源压力
- HTTP + SSE 缺陷:每个客户端都需要维持一个长期的 SSE 长连接,高并发场景下导致 TCP 连接数激增,服务器资源消耗巨大,且难以横向扩展
- Streamable HTTP 改进:采用按需流式传输,无需为每个客户端维持