proxy-pool/progress.md
2026-07-29 21:47:50 +08:00

9.1 KiB
Raw Blame History

项目进度

2026-07-29

  • adminstate 六类命令/查询已封装公用 Validate()MemoryStore 改为统一复用; 后续 pgx Adapter 不再重复实现名称、引用、分页和 Outbox 租约输入校验。
  • 一次命令装配审计误用了不存在的 controller/distribution/service.go;实际领域 服务位于 controller/extractionDistribution 包当前只负责 HTTP Handler。
  • 根据对话最终定稿统一 Sequential至少两个 Upstream省略 endBehavior 时 默认 stop新增领域和严格配置回归测试。disabled candidate、跨实例游标和 onUnavailable 请求链仍未提前标记完成。
  • 一次并行读取误用了不存在的 routing/sequential_test.go,另一次误用了旧 ADR 文件名;已改用 routing_test.go006-postgresql-admin-state.md,未重复命令。
  • 新增文档契约测试,递归验证 README、docs、deploy、diagrams 的相对链接,并 拒绝公开指南引用不存在的具体 Go 命令目标;修正配置参考中尚未实现的 cmd/proxy-controller 启动命令,改为当前真实可执行的严格配置校验工具。
  • 已复核 implementation-plan.md 的验收项机器契约、OpenAPI/Protobuf 验证、 完整文档导航、20 份配置示例和 35 张 Mermaid 图已有仓库及验证证据,修正 滞后勾选;进一步核对发现 descriptor 编译尚未进入 CI同时验证脚本和双平台 CI 已完成,最终校正为 49/73约 67%。
  • 正在并行审计 Routing/Sequential 与 Proxy Capacity 的剩余边界;本轮只收敛 已确认公共接口和既有需求,不把 Checker、pgx 或 100,000 QPS 目标提前记为完成。
  • Routing 审计确认五种策略尚未进入真实请求链、onUnavailable 只有配置校验、 Sequential 仅有进程内 CASCapacity 审计确认固定 Max 不超卖,但动态降容、 Reservation 完整生命周期观测和短 TTL 运行态回收待完成。追踪矩阵已降级为 准确的“已完成证据 + 待办”描述。
  • 定向执行 Proxy、Routing、Config、Gateway Dispatch/Server 测试,全部通过; 该结果只证明现有行为基线,不替代上述缺失运行链的验收。
  • 一次组合检索因包含不存在的 config 路径返回退出码 1有效输出已保留 后续检索改用实际目录 internal/config,未重复原命令。
  • Routing Runtime 设计核对确认采用 Controller 权威状态 + Gateway 不可变本地 快照的混合模型;已定位 Extract direct、默认值、disabled 推进和单 Upstream Sequential 四项需确认语义,尚未在未批准设计上开始实现。
  • 一次读取误用了不存在的 controller/runtime/bootstrap.go 路径;实际文件为 runtime.goGateway 构建辅助位于 gateway/server/bootstrap.go,已改用真实 文件继续核对,未重复失败命令。
  • 架构证据审计确认 Provider 分布式 Leader、Health Reducer/Checker、Prometheus 指标模块和四个生产命令仍缺实现;追踪矩阵已把这些条目的配置/领域基础与 完整运行时证据拆开描述。
  • 新增独立 Capacity 生命周期测试,覆盖 Cancel 后复用、重复 Commit/Cancel/ Release、Release-before-Commit、1,000 轮并发 Commit/Cancel 及 100 并发 ReleaseProxy、Dispatch、Snapshot、Gateway Server 定向测试全部通过。
  • 一次 rg 同时包含不存在的 cmd 路径,以及两次使用 PowerShell 不展开的 通配路径,分别返回退出码 2/123后续改用实际目录和 -g 过滤,不重复原命令。
  • 已实现共享 httpapihttpsecurityhttpserver,统一严格 JSON、Problem、 Request ID、认证、可信代理、Client ID、准入、多监听器生命周期和优雅停机。
  • Distribution/Admin Handler 已装配到独立监听器Gateway 配置认证统一复用 httpsecurityAPI 401 与代理 407 语义保持分离。
  • 部署配置已使用 ${VAR} 真实环境变量解析ConfigMap 与本地配置通过 LoadResolved 回归测试。
  • 已新增公用 activitypool 契约和并发安全内存参考实现Provider 按各供应商 TTL 与安全余量写入,独占提取、短期幂等和 Worker 所有权在同一原子边界内。
  • 已实现生产 Redis Activity AdapterUpsert、健康更新、原子提取、所有权、 Drain/ACK、库存读取与有界过期清理均封装为窄领域端口和 Lua 原子操作。
  • MemoryPool 与 Redis Adapter 运行同一套公用契约;真实 Redis 8.2 fixture 已覆盖 100 轮并发提取和 100 轮所有权竞争,本地 Compose 不持久化短效代理数据。
  • Proxy 明细不写 PostgreSQLPostgreSQL 仅保存配置版本、管理状态、Admin 审计、管理 outbox 和可选聚合指标。
  • usableUntil 已进入 Worker Snapshot 契约Gateway 在供应商硬过期前按安全 余量停止新分配。
  • PostgreSQL 管理面 Adapter、Provider Leader/分布式限流与心跳装配、生产命令 入口、Redis 故障转移验证和代表性 100,000 QPS 集群压测仍待实现。
  • 已新增 ADR-006 与公用 adminstate 事务 seamMemoryStore 在同一锁内提交管理 状态、Admin 审计与 Outbox覆盖配置冲突、Upstream 幂等、100 并发 Routing CAS、Outbox claim/ack 租约、上下文取消和不可变快照。
  • PostgreSQL 管理 Schema 已限制为六张配置/状态/审计/Outbox 表,并由静态测试 拒绝 Proxy、凭据、逐次提取、ownership 和短期幂等明细pgx Adapter 和真实 PostgreSQL 18 契约仍待实现。
  • Admin Handler 现在复用 httpsecurity.Identity,把 Actor ID 与可信 SourceIP 传给 enable/disable/switch/reload mutation供持久化审计直接使用。
  • 已实现 Admin ApplicationServicemutation 统一映射到 adminstateStatus 合并 一个权威管理快照和低基数运行态聚合;配置重载严格执行解析/校验、脱敏摘要、 持久化、原子发布顺序,任何持久化失败都不会替换旧运行配置。
  • 已新增公用原子 config.Store 与标准 FileConfigurationLoader;覆盖 100 组 并发读写、typed-nil、未知字段、主配置/Secret 文件 I/O、取消、Secret 轮换和 Admin 禁止依赖 Redis Extract/Proxy 明细的架构边界。
  • 本轮 .\scripts\verify.ps1.\scripts\test-redis.ps1、Compose 静态展开和 Compose 非持久化策略测试通过Windows CGO_ENABLED=0race 继续由 Linux CI 执行。
  • 本地 PostgreSQL 管理面基础已提交为 7951c29;推送 build/proxy-pool-architecture 时远端返回 Authentication failed,未重复执行 相同推送。当前本地提交保持完整,等待可用 Git 凭据后同步。

2026-07-28

  • 用户删除了先前基于不完整网页内容生成的设计文件。
  • 已重新读取当前 对话内容.md 全部 9,404 行。
  • 已按主题定位配置定稿、实施方案、Distribution API、认证、安全、并发、 故障语义和最终 Exclusive Extraction 修订。
  • 已建立新的任务计划与事实记录,旧网页摘要不再作为需求证据。
  • 已建立需求追踪矩阵、统一领域语言、产品设计、总体架构、项目结构、ADR、 开发、配置、API、安全、测试与运维文档。
  • 已提供 20 个严格校验的配置示例、Distribution/Admin OpenAPI、Controller/ Worker/Checker Protobuf 契约和 35 张 Mermaid 图。
  • 已实现并测试 Proxy 状态/TTL/唯一键、打包原子容量、首条路由、Sequential 并发切换、Fetch 分类、一次性独占提取、严格配置、Snapshot 与本地 Dispatch。
  • go test ./...go vet ./...go build ./... 通过。
  • Protobuf 描述符编译、Compose 静态展开、Kustomize 渲染、Grafana JSON 与 配置示例校验通过。
  • Windows 当前 CGO_ENABLED=0 且无 C 编译器race 测试由 Linux CI 承担。
  • 100,000 QPS 仍是未验证设计目标;运行进程、存储适配器、完整网络转发与 代表性集群压测尚未实施,已在完成审计中明确列出。
  • 历史文档压缩包已由用户删除,当前交付以仓库内可追踪文档为准。
  • 已实现 random、roundRobin、weighted、leastConnections并将 Sequential 拆成共享 Upstream 空结果状态与每 Routing 版本化游标。
  • 已实现 Provider 合并通知、完整 attempt 超时、永久错误契约、指数退避、 Retry-After、原子 FetchBudget 以及 Pool Reconciler。
  • 已强制 Worker 所有权与 Exclusive Extraction 注入同一权威 Repository 覆盖 100 轮并发竞争、续期、Drain ACK 和 Worker 过期回收。
  • 已实现提取服务层策略映射、Redis 短期幂等语义、来源身份准入和公共 FixedWindow 全局/Client 限流器;不保存逐代理提取审计记录。
  • 已为 100k Proxy 快照建立 scheme/upstream/tag 索引;本机持续基准中 Acquire 为 640 ns/op、256 B/op、2 allocs/op。该数据仅证明本地选择热路径 不代表 100k QPS 集群端到端容量。
  • 本轮 go test -count=1 ./...go vet ./...go build ./...git diff --check 通过Windows CGO_ENABLED=0race 仍由 Linux CI 验证。