proxy-pool/task_plan.md
youfak 1729a5c868
Some checks are pending
ci / proto (push) Waiting to run
ci / test (ubuntu-latest) (push) Waiting to run
ci / test (windows-latest) (push) Waiting to run
ci / race (push) Waiting to run
ci / integration (push) Waiting to run
feat: finalize drains from acknowledged runtime reports
2026-08-02 12:21:50 +08:00

73 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Proxy Pool 项目交付计划
## 目标
`对话内容.md` 的 9404 行完整讨论为唯一需求基线,交付设计文案、
开发文档和可编译、可测试、可扩展的 Go 项目架构。
## 需求覆盖原则
- 同一主题存在多轮修订时,以文件中最后出现的明确结论为准。
- 用户补充的集群峰值为 100,000 QPS覆盖文档早期 10,000 并发示例。
- Extract API 固定采用一次性独占发放;早期 Lease/Release 设计作废。
- 不保留空实现、TBD、TODO 或没有接口契约的占位目录。
## 阶段
1. [已完成] 完整读取对话并识别覆盖关系
2. [已完成] 建立需求追踪矩阵与统一领域模型
3. [已完成] 编写总体设计、产品设计、项目结构和 ADR
4. [已完成] 编写开发、配置、API、测试、安全和运维文档
5. [已完成] 搭建 Go 模块、核心包、契约和部署拓扑目录
6. [已完成] 实现状态机、首条路由、Sequential、原子容量、独占提取、
Fetch 分类、严格配置、不可变快照和本地调度参考实现
7. [已完成] 执行单元测试、静态检查、构建和静态部署/契约验证;本机因
`CGO_ENABLED=0` 且无 C 编译器未运行 race保留给 Linux CI
8. [已完成] 按需求矩阵逐项审计并生成版本化文档包
9. [已完成] 将 Proxy 明细、独占提取、短期幂等和 Worker 所有权统一到
TTL 活动池契约PostgreSQL 退出代理数据路径
10. [已完成] 实现生产 Redis Activity Adapter、原子 Lua、公用行为契约和
Redis 8.2 集成 fixture本地 Redis 禁止短效代理数据持久化
11. [已完成] 实现 PostgreSQL 管理面ADR、领域事务契约、MemoryStore、公用
契约、六表 Schema、Admin Actor 传播、应用服务、原子配置发布、pgx Adapter
和真实 PostgreSQL 18 集成测试已完成
12. [进行中] 复核验收清单并收敛既有 Routing/Sequential 与 Proxy 容量边界;
机器契约和文档类滞后勾选已按仓库证据校正
13. [进行中] 落地 `proxy-controller` 进程装配配置单次加载、PostgreSQL 迁移、
Redis 活动池、低基数状态聚合、Distribution/Admin/Metrics 启动与关闭已完成,
双存储 bootstrap 和探针集成已通过Worker 运行态存储与权威容量读取原语已
完成WorkerControlPlane、Provider、业务指标与完整容器进程链仍待实现
14. [已完成] 收敛健康故障生命周期:将 `UNHEALTHY` 的持续时长纳入权威活动池状态,
通过 Controller 后台的有界回收清理无 Worker ownership 的持续异常 Proxy拥有
Worker 的候选延后到既有 Drain/ACK 清除所有权后再处理。
15. [进行中] 收敛 Worker 发布生命周期:已完成权威 Proxy/Routing 的持续完整快照
刷新,以及 Drain 发起时的持久化 Ticket、Worker 待绑定索引、ownership epoch 推进和
完整排除 Snapshot 屏障绑定;已在 ACK 与 Runtime 零计数之间完成 Redis 原子自动收尾。
后续将 Reaper、配置停用与健康淘汰接入 `BeginDrain` 编排,形成可观测闭环。
## 串并行关系
```text
全文解析 ─> 需求矩阵 ─> 统一设计 ─┬─> 设计/开发文档 ─┐
├─> API/配置契约 ───┼─> 集成验证
└─> Go 项目架构 ────┘
```
## 测试约束
- 单条后台测试命令最长运行 60 秒。
- 核心并发代码必须执行 `go test -race`
- 100k QPS 只能由可复现的集群压测结果证明,架构文档不得把设计容量
写成已验证性能。
## 已知环境限制
- Docker Compose 配置与 Kubernetes Kustomize 已完成静态渲染验证Redis 8.2
与 PostgreSQL 18 的隔离 Adapter fixture 已运行,完整目标运行拓扑尚未启动。
- `cmd/proxy-controller` 已实现 Admin/Distribution/Metrics 与双存储启动装配;
Provider 分布式协调和 Worker 运行态 Redis 原语已完成,但 WorkerControlPlane
接收端、Provider Fleet、Gateway、Checker、Loadgen、业务指标、Redis 故障
转移验证与代表性集群压测属于后续实施范围。
- `implementation-plan.md` 当前按 73 个验收项统计;已校正为 51 项完成,
验收项完成率约 69.9%,不等同于生产就绪度。