Skip to content

分阶段实施计划 ​

Phase 0:语义闭合与技术验证 ​

目标:在正式扩展前消除架构级不确定性。

任务:

  • [ ] WM-0001:整理原始架构文档中的 Mode A/B/C 精确定义。
  • [ ] WM-0002:确定 Swell、Spectrum、Basin、Backend、Worker、Actor 的领域模型。
  • [ ] WM-0003:闭合 arrival / concurrency / lifetime 语义。
  • [ ] WM-0004:定义 saturation policy。
  • [ ] WM-0005:验证指数到达与不同 lifetime 分布下的并发曲线。
  • [ ] WM-0006:制定 plan-as-data 和 ShardPlan 冻结规则。
  • [ ] WM-0007:确定 HDR V2 blob 参数和跨实现 conformance test。
  • [ ] WM-0008:检查目标 KBEngine 版本的 Bot API 和 callback 源码。
  • [ ] WM-0009:验证 KBEngine Bridge 能否在引擎脚本上下文安全执行命令。
  • [ ] WM-0010:测量 KBEngine callback 调度粒度和 Bridge 队列延迟。
  • [ ] WM-0011:建立 Rust Worker 最小 timer benchmark。
  • [ ] WM-0012:确定 v1 是否需要常驻 Dashboard 和多用户管理。
  • [ ] WM-0013:冻结 Protobuf 包名、版本兼容策略和错误码约定。
  • [ ] WM-0014:明确 Swell 数据持久化边界。

交付物:

  • ADR-005:执行后端与原生 Bot 接入决策。
  • ADR-006:Spectrum 到达与并发语义。
  • Protobuf v1 初稿。
  • KBEngine API 验证报告。
  • Timer / Actor Runtime benchmark 报告。

退出条件:

  • BLOCKER-1 关闭。
  • KBEngine 至少确认 L0/L1 的可行能力边界。
  • Rust Runtime 基准测试有可复现结果。
  • v1 控制面部署形态明确。

Phase 1:协议与最小控制面 ​

目标:先建立可独立运行的 Controller、Worker 和 Supervisor 通信骨架。

任务:

  • [ ] WM-0101:创建 Rust workspace。
  • [ ] WM-0102:实现 wm-protocol Protobuf codegen。
  • [ ] WM-0103:实现统一错误码和 OperationResult。
  • [ ] WM-0104:实现 Controller Axum API 最小骨架。
  • [ ] WM-0105:实现 Worker gRPC 注册和心跳。
  • [ ] WM-0106:实现 Backend capability handshake。
  • [ ] WM-0107:实现 Supervisor 进程管理抽象。
  • [ ] WM-0108:实现 NativeProcessLauncher。
  • [ ] WM-0109:实现 Backend 状态机。
  • [ ] WM-0110:实现 Swell 元数据与本地文件存储。
  • [ ] WM-0111:实现 CLI 的 validate / run / status / stop。
  • [ ] WM-0112:实现最小结构化日志与 tracing。
  • [ ] WM-0113:实现 Controller / Worker / Supervisor 集成测试。

交付物:

  • 可启动的 Controller。
  • 可注册的空 Worker。
  • 可启动/停止测试进程的 Supervisor。
  • 最小 CLI。
  • Protobuf v1 契约。

退出条件:

  • Controller 能注册、监控和停止一个 Worker。
  • Supervisor 能启动、检测和停止一个子进程。
  • 进程异常退出可被正确记录。
  • 协议版本不兼容时能够拒绝握手。

Phase 2:KBEngine Bridge MVP ​

目标:证明原生 Bot 可被统一管理、观测和纳入 Swell。

任务:

  • [ ] WM-0201:创建 KBEngine Bridge Python bootstrap。
  • [ ] WM-0202:实现 Bridge 本机 IPC 客户端。
  • [ ] WM-0203:实现 Handshake 和 capability report。
  • [ ] WM-0204:实现 Supervisor 启动 KBEngine Bots。
  • [ ] WM-0205:实现 Swell / Backend / generation 注入。
  • [ ] WM-0206:实现命令队列和引擎 callback 调度。
  • [ ] WM-0207:实现 ApplyPlan 的批次计划映射。
  • [ ] WM-0208:实现 Bot 数量采集。
  • [ ] WM-0209:实现连接和登录事件采集(以目标版本可用 API 为准)。
  • [ ] WM-0210:实现 StopAdmission。
  • [ ] WM-0211:实现 Drain / Shutdown。
  • [ ] WM-0212:实现 Bridge 心跳与断线重连。
  • [ ] WM-0213:实现事件序列、cursor 和重复事件去重。
  • [ ] WM-0214:实现进程 CPU / RSS / FD 采集。
  • [ ] WM-0215:实现 Bridge 队列长度和 callback lag 指标。
  • [ ] WM-0216:实现 KBEngine adapter conformance test。
  • [ ] WM-0217:实现端到端登录压测样例。
  • [ ] WM-0218:实现 Bridge / Supervisor / Bot 故障注入测试。

交付物:

  • KBEngine Bridge。
  • KBEngine Supervisor Adapter。
  • KBEngine Backend capability profile。
  • 一份包含 Bot 事件和 Generator 指标的 Swell 报告。

退出条件:

  • 不修改 KBEngine C++ 网络运行时即可接入。
  • 可以启动 Bot、观察登录状态、停止新增。
  • Bridge 失联不会直接清空已有连接。
  • 所有未知能力都显式标记。
  • 连续运行测试无明显事件丢失或资源泄漏。

Phase 3:Native Rust Runtime ​

目标:实现 Wavemaker 自己的高性能 Actor 执行后端。

任务:

  • [ ] WM-0301:实现 Actor 状态机。
  • [ ] WM-0302:实现 Clock trait 和 ManualClock。
  • [ ] WM-0303:实现 RealClock。
  • [ ] WM-0304:实现 Timer Scheduler。
  • [ ] WM-0305:实现 Seeded RNG。
  • [ ] WM-0306:实现 Arrival Scheduler。
  • [ ] WM-0307:实现 Actor 生命周期管理。
  • [ ] WM-0308:实现 Session 状态机。
  • [ ] WM-0309:实现 Transport trait。
  • [ ] WM-0310:实现首个 TCP Transport。
  • [ ] WM-0311:实现 Framing。
  • [ ] WM-0312:实现 Schema / Codec 分离。
  • [ ] WM-0313:实现 Behavior trait。
  • [ ] WM-0314:实现消息事件分发。
  • [ ] WM-0315:实现批量 Actor 调度。
  • [ ] WM-0316:实现 Worker 本地 Metrics。
  • [ ] WM-0317:实现 HDR histogram 和 V2 blob。
  • [ ] WM-0318:实现 coordinated omission 修正。
  • [ ] WM-0319:实现 5k / 20k / 50k benchmark。
  • [ ] WM-0320:实现 24h soak test。
  • [ ] WM-0321:实现 Native Backend conformance test。

交付物:

  • Rust Native Worker。
  • Actor Runtime。
  • TCP 协议适配示例。
  • 性能基准报告。

退出条件:

  • 同一 plan + seed 可重现计划。
  • Actor 状态机和时钟测试通过。
  • 目标规模下发生器自身不成为明显瓶颈。
  • planned_at 与 actual_at 偏差满足项目门槛。
  • 24h soak 通过。

Phase 4:Basin 与统一观测 ​

目标:将 Generator、Server 和计划负载统一到 Swell 时间线。

任务:

  • [ ] WM-0401:实现 Basin 数据模型。
  • [ ] WM-0402:实现服务拓扑模型。
  • [ ] WM-0403:实现 Metric Catalog。
  • [ ] WM-0404:实现 Prometheus Provider。
  • [ ] WM-0405:实现 Metric Mapping。
  • [ ] WM-0406:实现 Query Scheduler。
  • [ ] WM-0407:实现 source_timestamp / observed_at / collected_at。
  • [ ] WM-0408:实现数据缺失和延迟检测。
  • [ ] WM-0409:实现 Preflight。
  • [ ] WM-0410:实现 observer_baseline。
  • [ ] WM-0411:实现观测开销评估和降级。
  • [ ] WM-0412:实现 Generator Metrics 聚合。
  • [ ] WM-0413:实现 Server Metrics 聚合。
  • [ ] WM-0414:实现时间线对齐。
  • [ ] WM-0415:实现报告中的数据质量标签。
  • [ ] WM-0416:实现端到端关联报告。

交付物:

  • Basin 配置。
  • Prometheus Provider。
  • Generator / Server 统一时间线。
  • 含数据质量的报告。

退出条件:

  • 可以证明目标服务拓扑覆盖情况。
  • 缺失数据不会被当成零。
  • 观测开销可测量。
  • Server Observability 不可用时报告正确降级。

Phase 5:分布式执行与恢复 ​

目标:从单机执行扩展到多 Worker、多 Backend。

任务:

  • [ ] WM-0501:实现 Worker Registry。
  • [ ] WM-0502:实现 Backend Registry。
  • [ ] WM-0503:实现资源容量描述。
  • [ ] WM-0504:实现 ShardPlan。
  • [ ] WM-0505:实现 Swell 创建时冻结 Worker 数量。
  • [ ] WM-0506:实现租约和心跳。
  • [ ] WM-0507:实现失联冻结新增。
  • [ ] WM-0508:实现 Backend generation。
  • [ ] WM-0509:实现恢复握手和状态同步。
  • [ ] WM-0510:实现多 Worker Metrics 聚合。
  • [ ] WM-0511:实现跨 Worker HDR 合并。
  • [ ] WM-0512:实现 Controller 重启恢复。
  • [ ] WM-0513:实现 Worker 故障注入。
  • [ ] WM-0514:实现多 Backend 混合 Swell。
  • [ ] WM-0515:实现分布式 24h soak。

交付物:

  • 多 Worker Swell。
  • 故障恢复机制。
  • 混合 Native + KBEngine 执行报告。

退出条件:

  • 分片计划不发生静默漂移。
  • 租约失效不产生额外断连尖峰。
  • 旧 generation 事件不会污染新状态。
  • 跨 Worker 指标合并通过 conformance test。

Phase 6:Dashboard 与扩展生态 ​

仅在 v1 产品形态需要时启动。

任务:

  • [ ] WM-0601:实现 Swell 列表与详情。
  • [ ] WM-0602:实现 Backend / Worker 状态页面。
  • [ ] WM-0603:实现 Spectrum 编辑和校验展示。
  • [ ] WM-0604:实现负载时间线。
  • [ ] WM-0605:实现 Generator / Server 指标曲线。
  • [ ] WM-0606:实现报告对比。
  • [ ] WM-0607:实现用户和权限。
  • [ ] WM-0608:实现审计日志。
  • [ ] WM-0609:评估 Docker / Podman Launcher。
  • [ ] WM-0610:评估 Lua Behavior SDK。
  • [ ] WM-0611:评估 Go / C++ / Python 第三方 SDK 完整性。


v1 范围与明确不做项 ​

19.1 v1 必须有 ​

  • Rust Controller。
  • Rust Native Worker。
  • Rust Supervisor。
  • Protobuf 契约。
  • Spectrum / Swell / ShardPlan。
  • KBEngine Bridge MVP。
  • Generator Observability。
  • Basin 基础模型。
  • Prometheus Provider。
  • Parquet / JSON 报告数据。
  • CLI。
  • conformance / integration / soak tests。

19.2 v1 可选 ​

  • Dashboard。
  • PostgreSQL。
  • Docker / Podman。
  • Python 通用行为插件 SDK。
  • BigWorld Adapter(取决于 SDK 和测试环境)。

19.3 v1 不做 ​

  • Kubernetes 编排。
  • 插件市场。
  • Lua 沙箱。
  • 通用动态库 ABI 插件。
  • 每个 Bot 一个容器。
  • 全量日志和 Trace 存储平台。
  • 自动根因诊断承诺。
  • 无限制的任意语言嵌入式运行时。