docs: align control plane delivery status
This commit is contained in:
parent
2c097f3e89
commit
7520dada47
@ -41,8 +41,9 @@ Proxy Pool 用 Controller 协调这些变化,并让 Gateway 数据面只消费
|
|||||||
- **PostgreSQL 管理面**:持久化配置版本、Upstream/Routing 管理状态、Admin
|
- **PostgreSQL 管理面**:持久化配置版本、Upstream/Routing 管理状态、Admin
|
||||||
审计与 Outbox;不保存 Proxy 明细或逐次提取记录。
|
审计与 Outbox;不保存 Proxy 明细或逐次提取记录。
|
||||||
- **Gateway 组件**:HTTP 正向代理、HTTPS CONNECT、双向 Tunnel、重试、超时、
|
- **Gateway 组件**:HTTP 正向代理、HTTPS CONNECT、双向 Tunnel、重试、超时、
|
||||||
目的地址保护、本地快照存储和容量调度已有实现与定向测试,但尚无
|
目的地址保护、本地快照存储、容量调度和 Worker 控制面 Register/Watch/ACK/
|
||||||
`proxy-gateway` 命令和控制面客户端。
|
Runtime 会话组件已有实现与定向测试;`proxy-gateway` 命令、凭据分发和权威
|
||||||
|
Proxy/Routing Snapshot 发布仍待装配。
|
||||||
- **安全边界**:Gateway、Distribution 与 Admin 使用各自的认证语义,并支持
|
- **安全边界**:Gateway、Distribution 与 Admin 使用各自的认证语义,并支持
|
||||||
CIDR、可信代理、严格请求解析和敏感信息最小化。
|
CIDR、可信代理、严格请求解析和敏感信息最小化。
|
||||||
|
|
||||||
|
|||||||
@ -109,6 +109,7 @@ pp:{activity}:worker-snapshot-expiry ZSET workerID -> Snapshot 引用 expiry mil
|
|||||||
pp:{activity}:worker-runtime HASH workerID -> 完整稀疏运行态报告
|
pp:{activity}:worker-runtime HASH workerID -> 完整稀疏运行态报告
|
||||||
pp:{activity}:worker-runtime-expiry ZSET workerID -> report expiry milliseconds
|
pp:{activity}:worker-runtime-expiry ZSET workerID -> report expiry milliseconds
|
||||||
pp:{activity}:owned:<digest> ZSET 单 Upstream 已分配 AVAILABLE Proxy
|
pp:{activity}:owned:<digest> ZSET 单 Upstream 已分配 AVAILABLE Proxy
|
||||||
|
pp:{activity}:worker-owned:<digest> ZSET 单 Worker 可下发的已分配 Proxy
|
||||||
pp:{activity}:idem:<digest> STRING 带 TTL 的提取幂等结果
|
pp:{activity}:idem:<digest> STRING 带 TTL 的提取幂等结果
|
||||||
pp:{activity}:op:<digest> STRING 带 TTL 的内部操作结果
|
pp:{activity}:op:<digest> STRING 带 TTL 的内部操作结果
|
||||||
```
|
```
|
||||||
@ -117,6 +118,10 @@ Proxy 记录包含地址、状态、健康信息、硬过期时间、`usableUnti
|
|||||||
所有权引用及 Distribution 返回所需的短期凭据。Redis 键、日志、指标和错误不得
|
所有权引用及 Distribution 返回所需的短期凭据。Redis 键、日志、指标和错误不得
|
||||||
包含密码或原始 `SecretRef`。
|
包含密码或原始 `SecretRef`。
|
||||||
|
|
||||||
|
`worker-owned` 的 score 是 ownership 租约到期时间,仅包含未进入 Drain 的 Proxy;
|
||||||
|
分配、续租、Drain、所有权过期与 Proxy 硬过期均在相同 Redis 原子脚本内维护该索引。
|
||||||
|
它用于 Controller 构建 Worker Snapshot,不被 Gateway 请求热路径读取。
|
||||||
|
|
||||||
### Provider Upsert
|
### Provider Upsert
|
||||||
|
|
||||||
Go 层先完成上下文检查、批次校验、唯一键摘要、TTL/安全余量计算、凭据解析和
|
Go 层先完成上下文检查、批次校验、唯一键摘要、TTL/安全余量计算、凭据解析和
|
||||||
|
|||||||
@ -210,8 +210,10 @@ Prometheus 运行时指标,三监听器隔离已通过测试;业务指标仍
|
|||||||
|
|
||||||
WorkerControlPlane 现已接入 Controller 生命周期:Register、ACK 和 Runtime
|
WorkerControlPlane 现已接入 Controller 生命周期:Register、ACK 和 Runtime
|
||||||
报告均经 Redis 服务端 TTL 的 session/issued-snapshot/ACK 栅栏校验;mTLS SPIFFE
|
报告均经 Redis 服务端 TTL 的 session/issued-snapshot/ACK 栅栏校验;mTLS SPIFFE
|
||||||
身份、消息/流限制和有界停机已实现。Snapshot 下发流、Gateway 客户端与 Outcome
|
身份、消息/流限制和有界停机已实现。`WatchSnapshots` 会持续发送并保持当前 epoch
|
||||||
上报仍未实现。
|
的基础完整 Snapshot;Gateway 已具备 Register/Watch/ACK/Runtime 会话协调组件。
|
||||||
|
按 Worker 的可下发 ownership 索引已进入 Redis 原子脚本。权威 Proxy/Routing
|
||||||
|
payload 发布、凭据分发、Gateway 命令与 Outcome 上报仍未实现。
|
||||||
|
|
||||||
已新增公用 `domain/activitypool` 契约及并发安全内存参考实现,Provider
|
已新增公用 `domain/activitypool` 契约及并发安全内存参考实现,Provider
|
||||||
Reconciler 通过 `UpsertFetched` 写入带供应商 TTL 和分配安全余量的批次;已覆盖
|
Reconciler 通过 `UpsertFetched` 写入带供应商 TTL 和分配安全余量的批次;已覆盖
|
||||||
@ -247,8 +249,9 @@ Distribution 现通过公用 `admission.Admitter` 接入独立 `redisadmission`
|
|||||||
Controller 多副本共享同一计数。Client 身份只以 SHA-256 摘要进入 Redis,窗口切换
|
Controller 多副本共享同一计数。Client 身份只以 SHA-256 摘要进入 Redis,窗口切换
|
||||||
原子回收历史字段;Redis 异常 fail-closed 并返回 503,真实额度耗尽返回 429。
|
原子回收历史字段;Redis 异常 fail-closed 并返回 503,真实额度耗尽返回 429。
|
||||||
Gateway 请求热路径仍只使用本地准入,不增加 Redis/PostgreSQL 调用。
|
Gateway 请求热路径仍只使用本地准入,不增加 Redis/PostgreSQL 调用。
|
||||||
WorkerControlPlane gRPC 接收端、session 签发/心跳、Snapshot ACK
|
WorkerControlPlane gRPC 接收端、session 签发/心跳、Snapshot ACK 账本、基础
|
||||||
账本和健康执行链仍待完成,因此 Task 10 尚未全部完成。
|
Snapshot 流和 Gateway 会话客户端已完成;权威 Proxy/Routing 发布、凭据分发、
|
||||||
|
Outcome 和健康执行链仍待完成,因此 Task 10 尚未全部完成。
|
||||||
|
|
||||||
## Task 11: Checker and Health Reducer
|
## Task 11: Checker and Health Reducer
|
||||||
|
|
||||||
|
|||||||
@ -49,7 +49,9 @@
|
|||||||
- `WorkerControlPlane`:Register、已签发 Snapshot 的 ACK 和完整稀疏 Runtime
|
- `WorkerControlPlane`:Register、已签发 Snapshot 的 ACK 和完整稀疏 Runtime
|
||||||
报告已通过 gRPC、Memory 与 Redis 8.2 契约验证;session、ACK、报告均使用 Redis
|
报告已通过 gRPC、Memory 与 Redis 8.2 契约验证;session、ACK、报告均使用 Redis
|
||||||
服务端 TTL,负向 ACK 会关闭 Runtime 写入栅栏。Controller 已装配 loopback
|
服务端 TTL,负向 ACK 会关闭 Runtime 写入栅栏。Controller 已装配 loopback
|
||||||
plaintext fixture 与 SPIFFE mTLS 服务端;Snapshot 流、Gateway 客户端、Outcome 和
|
plaintext fixture 与 SPIFFE mTLS 服务端;基础 Snapshot 流和 Gateway 的
|
||||||
|
Register/Watch/ACK/Runtime 会话协调已实现。Redis 以 Worker 可下发 ownership
|
||||||
|
索引支持后续 payload 构建;权威 Proxy/Routing payload、凭据分发、Outcome 和
|
||||||
Checker 尚未闭环。
|
Checker 尚未闭环。
|
||||||
- `PostgreSQL 管理面`:已定义 `adminstate` 事务 seam、并发安全 MemoryStore、
|
- `PostgreSQL 管理面`:已定义 `adminstate` 事务 seam、并发安全 MemoryStore、
|
||||||
公用契约、100 并发 Routing CAS、租约 Outbox 和只含六张管理表的 Schema;pgx
|
公用契约、100 并发 Routing CAS、租约 Outbox 和只含六张管理表的 Schema;pgx
|
||||||
@ -92,8 +94,9 @@ CI 已配置 Linux race job。PostgreSQL 18 和 Redis 8.2 的隔离 Adapter fixt
|
|||||||
5. Worker Register/ACK/Runtime gRPC 接收路径、Redis 服务端 TTL 会话生命周期、
|
5. Worker Register/ACK/Runtime gRPC 接收路径、Redis 服务端 TTL 会话生命周期、
|
||||||
SPIFFE mTLS 校验和 Controller 生命周期接线已完成;Redis Provider Leader、
|
SPIFFE mTLS 校验和 Controller 生命周期接线已完成;Redis Provider Leader、
|
||||||
分布式请求额度、Distribution Client 限制和 Provider 状态丢失重建已完成。
|
分布式请求额度、Distribution Client 限制和 Provider 状态丢失重建已完成。
|
||||||
6. Worker 网络快照流、Gateway Snapshot 客户端和 Outcome 上报仍待完成;Redis
|
6. Worker 基础网络快照流和 Gateway Snapshot 客户端已完成;权威 Proxy/Routing
|
||||||
ownership drain/ACK/过期回收已完成。
|
payload、凭据分发与 Outcome 上报仍待完成。Redis ownership drain/ACK/过期回收
|
||||||
|
及按 Worker 的可下发索引已完成。
|
||||||
7. Checker 调度、探测器和健康 reducer。
|
7. Checker 调度、探测器和健康 reducer。
|
||||||
8. Admin/Distribution 细粒度授权和审计查询;Distribution 分布式限流已完成。
|
8. Admin/Distribution 细粒度授权和审计查询;Distribution 分布式限流已完成。
|
||||||
9. 真实 Compose/Kubernetes 集成、故障演练和代表性集群负载测试。
|
9. 真实 Compose/Kubernetes 集成、故障演练和代表性集群负载测试。
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
| ID | 最终需求 | 来源 | 验证证据 |
|
| ID | 最终需求 | 来源 | 验证证据 |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| ARCH-001 | 数据面 Worker 与控制面 Controller 分离 | 1-70 | 包、协议和部署拓扑已分离;Controller 已运行 Worker Register/ACK/Runtime gRPC 接收,Gateway/Checker/Loadgen 构建产物及 Snapshot 下发待实现 |
|
| ARCH-001 | 数据面 Worker 与控制面 Controller 分离 | 1-70 | 包、协议和部署拓扑已分离;Controller 已运行 Worker Register/Watch/ACK/Runtime gRPC,Gateway 已有会话客户端组件;Gateway/Checker/Loadgen 构建产物及权威 Snapshot payload 发布待实现 |
|
||||||
| ARCH-002 | 热路径只做认证、本地路由和网络转发 | 1-70, 380-430 | Snapshot/Dispatch 及依赖边界已验证;完整 Gateway 进程与代表性性能剖析待完成 |
|
| ARCH-002 | 热路径只做认证、本地路由和网络转发 | 1-70, 380-430 | Snapshot/Dispatch 及依赖边界已验证;完整 Gateway 进程与代表性性能剖析待完成 |
|
||||||
| ARCH-003 | Gateway、Distribution、Admin、Metrics 独立入口 | 8904-8958 | Controller 命令已装配 Distribution/Admin/Metrics 三个独立监听及联动停机;Gateway 生产入口待装配 |
|
| ARCH-003 | Gateway、Distribution、Admin、Metrics 独立入口 | 8904-8958 | Controller 命令已装配 Distribution/Admin/Metrics 三个独立监听及联动停机;Gateway 生产入口待装配 |
|
||||||
| ARCH-004 | Controller 集中 Provider 获取与切换 | 1403-1580 | Redis Leader、动态 Provider Supervisor 与 Bootstrap 生产装配已完成;Admin disable/reload 驱动取消替换,多副本按权威 HMAC 指纹和 revision 栅栏收敛并拒绝旧配置换主;Routing 切换到 Drain 的编排待完成 |
|
| ARCH-004 | Controller 集中 Provider 获取与切换 | 1403-1580 | Redis Leader、动态 Provider Supervisor 与 Bootstrap 生产装配已完成;Admin disable/reload 驱动取消替换,多副本按权威 HMAC 指纹和 revision 栅栏收敛并拒绝旧配置换主;Routing 切换到 Drain 的编排待完成 |
|
||||||
@ -46,7 +46,7 @@
|
|||||||
| PROXY-002 | 唯一键包含 scheme、host、port、username、credentialVersion | 6655-6727, 8605-8678 | 去重单测 |
|
| PROXY-002 | 唯一键包含 scheme、host、port、username、credentialVersion | 6655-6727, 8605-8678 | 去重单测 |
|
||||||
| PROXY-003 | TTL 来源优先级明确并统一 UTC | 681-747, 8655-8678 | TTL 表驱动测试 |
|
| PROXY-003 | TTL 来源优先级明确并统一 UTC | 681-747, 8655-8678 | TTL 表驱动测试 |
|
||||||
| CAP-001 | Gateway 分配使用 Reserved -> Active 原子转换 | 1203-1467, 8530-8597 | 固定 Max 下打包 CAS 与 1,000 并发不超卖已完成;动态降容和完整生命周期证据待完成 |
|
| CAP-001 | Gateway 分配使用 Reserved -> Active 原子转换 | 1203-1467, 8530-8597 | 固定 Max 下打包 CAS 与 1,000 并发不超卖已完成;动态降容和完整生命周期证据待完成 |
|
||||||
| CAP-002 | 补池依据 Available Slots,不只看 Proxy 数量 | 1203-1402, 8530-8597 | `AvailableSlots`、显式 minimum/target 水位、pending 槽位和迟滞 Reconciler 已测试;Worker session/ACK/sequence/TTL/ownership fence 与 WorkerControlPlane Register/ACK/Runtime 接收已通过内存、Redis 8.2 和 gRPC 测试;Snapshot 下发、目标健康和 Gateway reserve 策略仍待完成 |
|
| CAP-002 | 补池依据 Available Slots,不只看 Proxy 数量 | 1203-1402, 8530-8597 | `AvailableSlots`、显式 minimum/target 水位、pending 槽位和迟滞 Reconciler 已测试;Worker session/ACK/sequence/TTL/ownership fence、基础 Snapshot 流及 Gateway 会话组件已通过内存、Redis 8.2 和 gRPC 测试;权威 payload、目标健康和 Gateway reserve 策略仍待完成 |
|
||||||
| CAP-003 | pool.maxSize 包括 FETCHED/CHECKING/AVAILABLE/SUSPECT/DRAINING 与 pending expected | 3001-3533, 6642-6680 | `FetchBudget` 100 并发额度预占测试 |
|
| CAP-003 | pool.maxSize 包括 FETCHED/CHECKING/AVAILABLE/SUSPECT/DRAINING 与 pending expected | 3001-3533, 6642-6680 | `FetchBudget` 100 并发额度预占测试 |
|
||||||
| CAP-004 | TTL safety margin 内禁止新分配 | 173-220, 6728-6741 | 时钟测试 |
|
| CAP-004 | TTL safety margin 内禁止新分配 | 173-220, 6728-6741 | 时钟测试 |
|
||||||
| CAP-005 | 多 Worker 不在热路径访问 Redis 计数 | 1403-1467 | Gateway 包依赖审计、Snapshot/Dispatch 测试 |
|
| CAP-005 | 多 Worker 不在热路径访问 Redis 计数 | 1403-1467 | Gateway 包依赖审计、Snapshot/Dispatch 测试 |
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user