摘要音频
本节课没有语音摘要。
学习笔记
MCP 服务器关键概念学习笔记
🌐 场景背景:水平扩展 (Horizontal Scaling)
- 目的: 当服务器流量过大时,通过运行多个服务器副本并使用负载均衡器 (Load Balancer) 来分流请求,实现系统扩展。
- 挑战: 负载均衡器可能导致客户端的请求被随机路由到不同的服务器,从而破坏需要持续连接(如 Git SSE 响应)的会话状态。
⚙️ 标志一:stateless (无状态)
- 设置含义: 当此标志设为真 (true) 时,客户端不会获得会话 ID (Session ID)。服务器无法追踪客户端状态。
- 负面影响 (Trade-offs):
- 无法使用 Git SSE 响应路径发送请求给客户端。
- 无法实现采样 (Sampling)、进度日志 (Progress Logging) 或资源订阅等功能。
- 正面影响 (Benefits):
- 无需进行客户端初始化请求 (Client Initialization) 和后续通知请求 (Notification)。
- 减少服务器接收的初始流量。
⚙️ 标志二:JSON response (JSON 响应)
- 设置含义: 当此标志设为真 (true) 时,发送给客户端的 POST 请求将禁用流式传输 (Streaming)。
- 工作方式:
- 服务器不会发送中间的、实时的消息(如登录日志或进度更新)。
- 客户端必须等待工具调用完全完成,才会接收到最终的、完整的 JSON 结果。
- 对比: 默认模式下支持流式传输,即接收中间消息 → 最终结果。
💡 总结与建议
- 核心权衡: stateless 模式牺牲会话追踪能力,换取架构的简化和流量的减少。
- 开发建议: 在本地开发服务器时,应使用计划在生产环境中使用的传输方式(如 Streamable HTTP Transport),以避免后期迁移时出现兼容性问题。
Takeaways
- 水平扩展通过负载均衡实现系统扩展,但可能破坏需要持续连接(如Git SSE)的会话状态。
- stateless 模式禁用会话ID追踪,牺牲了采样和日志等功能,但能减少服务器初始流量。
- JSON response 标志禁用流式传输,客户端必须等待工具调用完全完成,才能接收到最终的完整结果。
- 核心权衡在于:stateless 模式以牺牲会话追踪能力为代价,换取架构的简化和流量的减少。
抽认卡 9 张卡片
问题
点击显示 · ←/→
答案
点击翻回
知识检测 0 题
No quiz for this lesson yet.