50 lines
5.8 KiB
Markdown
50 lines
5.8 KiB
Markdown
# Orbit 首版交付核对清单
|
||
|
||
这份清单把“代码已实现”“当前环境已回归”和“生产拓扑仍待验收”分开记录。勾选一项必须有对应命令输出、测试日志或发布工单,不能只凭设计文档勾选。业务接入方名称、行业规则和真实外部副作用不写入平台发布物。
|
||
|
||
## 当前版本候选
|
||
|
||
| 项目 | 证据/命令 | 状态 |
|
||
| --- | --- | --- |
|
||
| 服务端与 SDK 代码来自同一提交 | `git rev-parse HEAD`;发布时记录不可变提交 | 待发布候选冻结 |
|
||
| Go 工具链 | Go 1.27.1;Docker `golang:1.27.1`,真实 `go.mod`/`GOWORK=off` | 模块级 race/vet/build、MySQL 存储/进程组、24 个 SDK 示例及两个独立业务模块真实集成已通过;发布环境仍需复核 |
|
||
| 容器发布物 | `make image`;[容器发布说明](21-container-deployment.md) | native linux/arm64 与显式 linux/amd64 镜像构建已通过,支持注入版本身份并由 `/version` 核对;生产镜像标签、摘要、签名和目标编排环境仍需冻结 |
|
||
| 服务端单元、竞态、vet、build | `make test && make vet && make build` | Go 1.27.1 Docker 等价命令已通过;宿主机 `make` 因未安装 Go 不能作为本机证据 |
|
||
| 当前协议线一致 | `make protocol-check` | 已通过:HTTP `/v1`、Worker/Event v1、流程 schema 1 |
|
||
| SDK 独立性和发布门禁 | `make sdk-check` | Go 1.27.1 Docker 下独立 module、示例和业务模块 race/vet/build 已通过 |
|
||
| 文档与示例 | 本清单、[接口手册](api/README.md)、[SDK手册](sdk/README.md)、[场景示例](examples/README.md) | 文档链接和 JSON 块已检查;宿主机全量端到端见[当前回归状态](reports/phase-7-regression-status.md) |
|
||
|
||
## 数据库与安全
|
||
|
||
| 项目 | 证据/命令 | 状态 |
|
||
| --- | --- | --- |
|
||
| 空库初始化不创建外键 | `TestIntegrationFreshInstallUsesNoForeignKeys`;[无外键基线报告](reports/phase-6-fresh-install.md) | 已通过 MySQL 8.4 |
|
||
| 历史库升级不改写迁移校验和 | `TestIntegrationNoForeignKeysUpgrade`;v7 外键70→0、索引和数据保留 | 已通过 MySQL 8.4 |
|
||
| 发布前结构核验 | `orbit-admin verify` 输出 schema v28、外键0、固定观测索引6 | 已实现,发布前必须执行 |
|
||
| Go 数据模型与 SQL 中文注释 | `TestFreshInstallBaselineHasChineseModelComments`;[数据模型说明](07-data-model.md) | 当前基线逐表、逐字段门禁已通过;后续新增字段必须同步模型注释和 SQL `COMMENT` |
|
||
| 多租户、凭据轮换、权限撤销、审计脱敏 | [凭据报告](reports/phase-6-credentials.md)、P1–P5集成回归 | 功能回归已通过;密钥托管和生产审计待验收 |
|
||
| 迁移/运行账户隔离 | 目标部署权限清单及演练 | 待目标环境 |
|
||
|
||
## 正确性、故障与运维
|
||
|
||
| 项目 | 证据/命令 | 状态 |
|
||
| --- | --- | --- |
|
||
| 幂等、事务、租约、重试、未知结果和流程恢复 | P1–P5阶段报告及真实 MySQL 回归 | 功能阶段已通过 |
|
||
| 派发未送达、提交前后断线、最终信号竞争 | [故障边界报告](reports/phase-6-fault-boundaries.md)、[当前回归状态](reports/phase-7-regression-status.md) | Go 1.27.1 已通过 MySQL 存储、关键 SDK/Orbit 进程故障组、24 个示例串跑和两个独立业务模块集成;跨版本矩阵和目标拓扑仍待发布环境 |
|
||
| 备份恢复 | `scripts/test-backup-restore.sh`、[恢复报告](reports/phase-6-backup-restore.md) | Go 1.27.1 构建的当前二进制已通过隔离恢复;生产介质待验收 |
|
||
| MySQL 短暂不可用恢复 | `scripts/test-db-recovery.sh`、[恢复报告](reports/phase-6-db-recovery.md) | Go 1.27.1 构建的当前二进制已通过单节点同卷演练;主从/跨故障域待验收 |
|
||
| 运行观测和只读快照 | `/metrics`、`orbit-admin observe snapshot`、[观测手册](api/observability.md) | 固定基数和有界单节点快照已实现 |
|
||
| 告警、值守、回滚/前向修复 | 目标监控、值班和发布工单 | 待目标环境 |
|
||
|
||
## 容量与生产高可用
|
||
|
||
| 项目 | 必须提供的证据 | 状态 |
|
||
| --- | --- | --- |
|
||
| 受理、派发、流程推进和恢复吞吐 | 固定硬件、数据量、任务/流程混合模型,p50/p95/p99和资源曲线 | 已有受理样本、[真实Worker短/混合/中长执行样本](reports/phase-6-execution-load.md)、[Weave双分支流程样本](reports/phase-6-workflow-load.md)及[定时集中触发/积压曲线样本](reports/phase-6-backlog.md);目标硬件资源曲线、生产容量和HA仍未验收 |
|
||
| 100万+企业规模推导 | [容量模型](19-capacity-model.md):租户、队列、连接、事件、索引和保存周期的参数化推导 | 已建立计算方法和演算样例;目标业务数据、硬件、拓扑和生产容量仍未验收,不能由企业数直接承诺 |
|
||
| MySQL 复制、切换、RPO/RTO | [隔离 GTID 复制与手工提升演练](reports/phase-6-mysql-replication.md);目标拓扑上的实际切换、复制确认、恢复点和恢复时间 | 隔离源库/副本复制、手工提升和原幂等键重放已通过;自动切换、目标拓扑、RPO/RTO仍未验收 |
|
||
| 慢消费者、重连风暴、磁盘和锁等待 | 受控故障负载及积压清空证据 | SDK 受控连续断线和真实 HTTP/WebSocket 容量1慢消费者已回归(见[重连报告](reports/phase-6-reconnect-storm.md)、[慢消费者报告](reports/phase-6-slow-consumer.md));跨节点风暴、磁盘和锁等待未验收 |
|
||
| 跨版本 SDK/服务端 | 至少一个正式旧标签与候选版本的双向矩阵 | 历史提交 `a50d5fa` 的稳定任务 API 双向 smoke 已通过(见[报告](reports/phase-7-historical-compatibility.md));正式标签和全协议矩阵仍未验收 |
|
||
|
||
发布候选只有在所有“待目标环境/未验收”项得到对应环境证据后,才能进入生产审批。当前代码和阶段回归不等同于生产高可用、容量、RPO/RTO或百万企业承诺。
|