102 lines
7.7 KiB
Markdown
102 lines
7.7 KiB
Markdown
# 项目进度
|
||
|
||
## 2026-07-29
|
||
|
||
- 已复核 `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 仅有进程内 CAS;Capacity 审计确认固定 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.go`,Gateway 构建辅助位于 `gateway/server/bootstrap.go`,已改用真实
|
||
文件继续核对,未重复失败命令。
|
||
- 架构证据审计确认 Provider 分布式 Leader、Health Reducer/Checker、Prometheus
|
||
指标模块和四个生产命令仍缺实现;追踪矩阵已把这些条目的配置/领域基础与
|
||
完整运行时证据拆开描述。
|
||
- 一次 `rg` 同时包含不存在的 `cmd` 路径,以及两次使用 PowerShell 不展开的
|
||
通配路径,分别返回退出码 2/123;后续改用实际目录和 `-g` 过滤,不重复原命令。
|
||
- 已实现共享 `httpapi`、`httpsecurity` 与 `httpserver`,统一严格 JSON、Problem、
|
||
Request ID、认证、可信代理、Client ID、准入、多监听器生命周期和优雅停机。
|
||
- Distribution/Admin Handler 已装配到独立监听器;Gateway 配置认证统一复用
|
||
`httpsecurity`,API 401 与代理 407 语义保持分离。
|
||
- 部署配置已使用 `${VAR}` 真实环境变量解析,ConfigMap 与本地配置通过
|
||
`LoadResolved` 回归测试。
|
||
- 已新增公用 `activitypool` 契约和并发安全内存参考实现;Provider 按各供应商
|
||
TTL 与安全余量写入,独占提取、短期幂等和 Worker 所有权在同一原子边界内。
|
||
- 已实现生产 Redis Activity Adapter:Upsert、健康更新、原子提取、所有权、
|
||
Drain/ACK、库存读取与有界过期清理均封装为窄领域端口和 Lua 原子操作。
|
||
- MemoryPool 与 Redis Adapter 运行同一套公用契约;真实 Redis 8.2 fixture 已覆盖
|
||
100 轮并发提取和 100 轮所有权竞争,本地 Compose 不持久化短效代理数据。
|
||
- Proxy 明细不写 PostgreSQL;PostgreSQL 仅保存配置版本、管理状态、Admin
|
||
审计、管理 outbox 和可选聚合指标。
|
||
- `usableUntil` 已进入 Worker Snapshot 契约,Gateway 在供应商硬过期前按安全
|
||
余量停止新分配。
|
||
- PostgreSQL 管理面 Adapter、Provider Leader/分布式限流与心跳装配、生产命令
|
||
入口、Redis 故障转移验证和代表性 100,000 QPS 集群压测仍待实现。
|
||
- 已新增 ADR-006 与公用 `adminstate` 事务 seam;MemoryStore 在同一锁内提交管理
|
||
状态、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 `ApplicationService`:mutation 统一映射到 `adminstate`;Status 合并
|
||
一个权威管理快照和低基数运行态聚合;配置重载严格执行解析/校验、脱敏摘要、
|
||
持久化、原子发布顺序,任何持久化失败都不会替换旧运行配置。
|
||
- 已新增公用原子 `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=0`,race 继续由 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=0`,race 仍由 Linux CI 验证。
|