炸裂:SpringAI新版发布,终于支持断线重连了!
盼星星盼月亮,Spring AI 新版 1.1.0-M1(1.1.0 里程式版本)终于支持 Steamable HTTP 了,也就意味着 Spring AI 的 MCP 服务终于支持自动断线重连了。1.SteamableHTTP
定义:Streamable HTTP 是基于标准 HTTP 协议的流式数据传输模式,允许客户端或服务器在数据完全生成前,分块(Chunk)传输数据,实现“边生成、边传输、边使用”的实时通信效果。它不是新协议,而是对 HTTP 的优化用法,结合了分块传输、连接复用、断线重连等特性。
2.SteamableHTTP和SSE
SSE 是 Spring AI 此次新版发布之前主要使用的通讯协议,是一种基于 HTTP 协议的 服务器向客户端单向推送数据 的技术,允许服务器在建立连接后 随时向客户端发送实时更新,无需客户端反复发起请求。它是 HTML5 标准的一部分,设计简单,适合需要实时通知但无需双向通信的场景。
SSE 和 Steamable HTTP 的主要区别如下:
维度SSEStreamable HTTP灵活性❌ 仅单向通信,格式受限✅ 支持双向、多格式、断点续传性能❌ 高并发时资源占用高✅ 高并发下更高效3.使用SteamableHTTP
Steamable HTTP 在新版中的使用如下。
先添加新版依赖:
<dependency>
<groupId>org.springframework.ai</groupId>
spring-ai-starter-mcp-server-webflux</artifactId>
<version>1.1.0-M1</version>
</dependency>配置使用 Steamable 协议:
spring:
ai:
mcp:
server:
protocol: STREAMABLE # 配置使用 Steamable 协议客户端也添加对应的新版本依赖:
<dependency>
<groupId>org.springframework.ai</groupId>
spring-ai-starter-mcp-client-webflux</artifactId>
<version>1.1.0-M1</version>
</dependency>之后配置 MCP 服务器地址就可以直接调用了:
spring:
mcp:
client:
streamable-http:
connections:
weather-server:
url: http://localhost:10086/api # 指向刚才启动的 MCP Server其他实现代码不变。
4.视频实现演示
https://www.bilibili.com/video/BV1xYHez5EEM/
小结
Spring AI 之前版本最被人诟病的就是不支持 Streamable HTTP,所以在实现自定义 MCP 服务器端时很麻烦,需要自己手动实现断线自动重连功能。但现在新版本支持之后我们就可以非常方便的实现 MCP 服务了,大家可以动手试一下。
本文已收录到我的技术小站 www.javacn.site,其中包含的内容有:Spring AI、LangChain4j、Dify、Coze、Spring AI Alibaba、智能体(AI Agent)、MCP、Function Call、RAG、向量数据库、Prompt、多模态、向量数据库、嵌入模型、AI 常见面试问题等内容。
http://icdn.apigo.cn/gitchat/rabbitmq.png?imageView2/0/w/500/h/400http://icdn.apigo.cn/myinfo/wchat-pay.png
关注公众号(加好友):http://icdn.apigo.cn/gongzhonghao2.png?imageView2/0/w/120/h/120
作者: 王磊的博客
出处: http://vipstone.cnblogs.com/
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 很好很强大我过来先占个楼 待编辑
页:
[1]