proxy-pool/progress.md
2026-07-29 20:13:53 +08:00

4.8 KiB
Raw Blame History

项目进度

2026-07-29

  • 已实现共享 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供持久化审计直接使用。
  • 本轮 .\scripts\verify.ps1.\scripts\test-redis.ps1、Compose 静态展开和 Compose 非持久化策略测试通过Windows CGO_ENABLED=0race 继续由 Linux CI 执行。

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 验证。