我试了 Redis,它没能修复 ECS Fargate 上的有状态 MCP
来源:dev.to — 2026-07-24
📋 概述
作者尝试用 ElastiCache Redis 解决 MCP 服务器在 ECS Fargate 滚动部署时丢失会话状态的问题。尽管 Redis 连接成功,但新任务实际从未从 Redis 读取或写入——因为 MCP Streamable HTTP 传输层的会话绑定机制在协议层面限制了跨任务状态共享。文章指出 MCP 2025-03-26 协议版本的架构缺陷,并展望 2026-07-28 的候选发布版已在协议层面解决该问题。
🔑 核心要点
- 核心问题:ECS Fargate 滚动部署替换旧任务后客户端的会话绑定失效
- 尽管 Redis 连接成功,但 新任务从未实际读取或写入 Redis——协议层面的架构限制
- 根因在于 MCP Streamable HTTP 传输层的 session_id 绑定和 ALB sticky session 的交互
- MCP 2025-03-26 协议版本的架构在有状态和无状态传输间存在断裂
- 2026-07-28 候选发布版已在协议层面解决该问题——无需应用层变通方案
💡 金句
Redis 连接成功了,但新任务从未从 Redis 读取或写入——这不是基础设施的问题,这是协议层的问题。
👍 0
👎 0
← 返回 Dev.to 首页