<!-- ARGI-ENT-20261008:T28 --> ## 目标 限制单租户和 provider 压力,多 Worker 扩容不能绕过并发、调用与成本限制。 ## 优先级与归属 - 优先级:P3;任务标识:T28。 - 责任仓库:`agentic-ai-java/argi-extensions`。 - 总览:https://github.com/agentic-ai-java/argi/issues/117。 - 这是单一交付任务;以中立接口/reference tests 隔离依赖,可单独提交评审。 ## 范围与落地方案 - 实现租户/provider/model 并发与 rate/token/cost 预算 reservation/release,复用 durable usage。 - 区分 Worker 并发、图内并行、工具并行和逻辑 waiting run;提供公平准入、backpressure 与指标。 - 以 backlog age/runnable count/lease occupancy/latency 给出扩缩容信号与 provider/Redis 容量上限。 ## 前置依赖 - https://github.com/agentic-ai-java/argi-extensions/issues/9 (T12) - https://github.com/agentic-ai-java/argi/issues/127 (T17) ## 验收条件 - [ ] 多 JVM 同时申请预算不能超额或重复释放,进程退出后额度按明确协议核对。 - [ ] 租户 A 饱和不占用全部租户 B 容量,预算恢复不归零。 - [ ] child delegation 不能凭派生 run 获得新额度;waiting run 不错误占据物理 Worker slot。 - [ ] drain/scale-in 停止新领取且不删除 IN_DOUBT 数据,指标能区分存量等待与真实执行。 ## 非目标 - 不实现云平台 autoscaler 或实际计费系统,不凭未经负载验证的吞吐量宣称容量。 ## 兼容与验证约束 - Java 17;新增路径显式启用,保留既有 API、默认行为、checkpoint/Store 格式及配置前缀。 - Core 不引入 Redis/Extensions 依赖;存储实现归 Extensions,应用接线归可选运行层。 - 首阶段无 MQ、整 Run Worker,不做节点分片,不承诺通用 exactly-once 或 Redis HA RPO0。 - 先用模型无关单测/reference 验证本任务,再按范围运行现有 API/格式门禁;涉及 Redis 用真实存储测试,涉及接管用独立 JVM。 ## 当前实现依据 - [Redis retained-history/failover and excluded runtime guarantees](https://github.com/agentic-ai-java/argi-extensions/blob/ed07835729405e7c8b97772d5b478d63ac1f9760/graph-persistence/argi-graph-persistence-redis/README.md#L162). - [Observation wiring/exporter boundaries](https://github.com/agentic-ai-java/argi/blob/6324f53d7b6337cc9238a8cc5314dfef75f3548b/spring-boot-starters/argi-starter-graph-observation/README.md#L3). 分析基线:Core `6324f53`、Extensions `ed07835`;AgentScope 参考 `c95eb1f`。本 Issue 是待完成任务,不代表能力已经实现。
Activity
fix(autoconfigure-dashscope): fix autoconfigure-dashscope (#18)