-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
status:todoPlanned but not startedPlanned but not started
Description
背景
当前 OpencodeUpstreamClient 负责对 OpenCode 上游发起普通请求与流式请求,但主干里尚未看到统一的并发阈值或背压控制机制。若实例在高负载下同时向上游发起大量请求,适配层可能积压过多未决任务与连接。
当前问题
OpencodeUpstreamClient当前没有统一的并发上限控制。- 没有明确的请求排队/拒绝策略。
- 在上游延迟突增或下游并发放大场景下,实例内存与连接占用边界不够清晰。
这与 task persistence、session binding 或日志指标问题不同,属于适配层的 runtime reliability 议题。
期望方向
评估是否为 upstream adapter 增加最小背压保护:
- 为普通请求与流式请求定义统一或分类的并发限制;
- 明确超限时是排队、快速失败,还是按不同请求类型采用不同策略;
- 保持当前 API 语义不变,不把调度复杂度扩散到调用方。
非目标
- 不在本 issue 内同时引入完整队列系统或复杂 rate limiting 平台。
- 不把 peer A2A client cache / session cache 与 upstream concurrency 混为一谈。
- 不改变现有 A2A 对外协议契约。
建议实施步骤
- 盘点
OpencodeUpstreamClient各类请求入口及其资源占用模式。 - 明确普通请求、streaming、abort、session query 是否需要共享同一限流策略。
- 设计最小并发/背压机制及其配置边界。
- 若进入实现阶段,补压力测试或最小并发回归测试。
验收标准
- 明确 upstream adapter 的并发保护范围。
- 明确超限行为与配置边界。
- 若进入实现阶段,补齐并发/背压相关测试。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
status:todoPlanned but not startedPlanned but not started