解决企业级规模下模型上下文协议(Model Context Protocol)服务器的会话持久性问题
在开发环境中运行完美的 Model Context Protocol (MCP) 服务器,一旦部署到负载均衡器后方的多个副本中,便可能出现间歇性故障。故障表现为随机出现的“会话未找到”错误流,其根本原因在于某些 MCP 传输层保持会话状态的方式与负载均衡器分发请求的方式不匹配。本文解释了该问题产生的原因、适用场景,以及如何使用共享会话存储来解决这一问题的具体模式。该问题在早期开发中极易被忽视,因为它仅在存在多个服务器实例时才会显现。单实例部署将所有会话保存在本地内存中,因此每个请求自然都能找到其对应的会话。一旦添加副本,这一假设便会悄然失效。