Files
Edu/docs/architecture/roadmap/integration-test-phase.md
SpecialX c6362f4b04
Some checks failed
CI / quality-ts (push) Failing after 53s
CI / quality-go (push) Failing after 7s
CI / quality-proto (push) Failing after 3s
CI / deploy (push) Has been skipped
docs(docs): 更新 issue 仲裁状态 + 生成集成测试阶段规划
- 14 个 issue.md 状态字段更新为"已裁决"
  - 对应 coord.md ARB-001~022 章节
  - 共 104 处状态字段更新
- 新增 integration-test-phase.md
  - 集成测试与部署验证阶段(P7)规划
  - 6 个批次任务分解
  - 8 条核心 E2E 链路定义
  - 验收标准和退出标准

Coord-AI
2026-07-10 22:05:37 +08:00

7.7 KiB
Raw Blame History

集成测试与部署验证阶段P7

日期2026-07-10 前置条件:所有模块 P2-P6 代码完成lint/typecheck/go vet/ruff 全通过ARB-001~022 全部已裁决 目标:从"代码完成"到"系统可用",验证端到端功能链路


1. 阶段概述

15 AI 全并行开发模式下,各模块独立编码,使用 mock 桩进行本地验证。本阶段目标是将所有模块集成到真实基础设施中,验证端到端功能链路

前置状态

检查项 状态
lintpnpm run lint 全通过
typecheckpnpm run typecheck 16 包/服务全通过
go vetapi-gateway + push-gateway 全通过
ruff checkai + data-ana 全通过
proto 契约buf lint 通过
仲裁ARB-001~022 95 条全部已裁决
packages/contracts 已建立ADMIN_* 权限点)

当前差距

  • 各模块使用 mock 桩,尚未在真实 gRPC/MySQL/Redis/Kafka 环境中验证
  • 服务间 gRPC 调用链路未实际跑通
  • 前端与 BFF 的 GraphQL 通信未端到端验证
  • Docker Compose 全量部署未验证
  • 健康检查端点(/healthz + /readyz未在容器环境验证

2. 阶段任务分解

批次 0基础设施就绪

目标:确保 Docker Compose 全量基础设施可启动。

任务 验证标准
MySQL + Redis + Kafka + Neo4j + ClickHouse + ES 容器健康 docker compose up -d 全量容器 healthy
数据库 schema 初始化脚本 各服务 schema 迁移脚本可执行
Kafka topic 创建脚本 全部 topicARB-013 命名)可创建
Debezium CDC connector 配置 MySQL → Kafka CDC 链路通畅

批次 1后端服务启动

目标:每个后端服务能在 Docker 环境中启动并通过健康检查。

服务 端口 验证标准
api-gatewayGo 8080 /healthz 返回 200
push-gatewayGo 8081 /healthz 返回 200
iamTS/gRPC 50052 3001 /healthz + gRPC 可连接
classesTS 3002 /healthz 返回 200
core-eduTS/gRPC 50053 3004 /healthz + gRPC 可连接
contentTS/gRPC 50054 3005 /healthz + gRPC 可连接
msgTS/gRPC 50056 3006 /healthz + gRPC 可连接
data-anaPython/gRPC 50055 3007 /healthz + gRPC 可连接
aiPython/gRPC 50058 3008 /healthz + gRPC 可连接

批次 2BFF 层启动

目标3 个 BFF 能启动并连接下游 gRPC 服务。

服务 端口 验证标准
teacher-bffGraphQL 3003 /graphql Playground 可访问
student-bffGraphQL 3009 /graphql Playground 可访问
parent-bffGraphQL 3010 /graphql Playground 可访问

批次 3前端启动

目标4 个前端能启动并连接对应 BFF。

应用 端口 验证标准
teacher-portal 4000 登录页可访问
student-portal 4001 登录页可访问
parent-portal 4002 登录页可访问
admin-portal 4003 登录页可访问

批次 4端到端功能验证

目标:核心业务链路端到端跑通。

链路 涉及服务 验证标准
教师登录 teacher-portal → api-gateway → iam 获取 JWT → 侧边栏按角色渲染
创建考试 teacher-portal → teacher-bff → core-edu 考试落库 → Outbox 事件 → Kafka
学生作答 student-portal → student-bff → core-edu 提交落库 → 事件发布
教师批改 teacher-portal → teacher-bff → core-edu 成绩落库 → GradeReleased 事件
学情分析 student-portal → student-bff → data-ana ClickHouse 宽表查询 < 5s
知识图谱 teacher-portal → teacher-bff → content Neo4j 查询秒级返回
消息推送 msg → push-gateway → WebSocket 在线学生实时收到通知
AI 辅助 teacher-portal → teacher-bff → ai 流式 SSE 正常返回

批次 5可观测性验证

目标:三支柱(日志 + 指标 + 链路)在集成环境中可用。

检查项 验证标准
Prometheus 抓取 所有服务 /metrics 端点可抓取
Grafana 面板 核心指标面板可查看
全链路 trace 一个请求的 trace 可在 Jaeger 追踪全链路
结构化日志 所有服务日志 JSON 格式输出到 stdout

3. 执行策略

并行度

批次 0基础设施 → 批次 1后端 → 批次 2BFF → 批次 3前端 → 批次 4E2E → 批次 5可观测性
     |                  |                  |                  |                  |                  |
     独立              9 服务并行         3 BFF 并行         4 前端并行         8 链路并行         独立

问题修复策略

  • 发现的问题记录到 docs/troubleshooting/known-issues.md 对应模块分区
  • 跨模块问题通过 docs/architecture/issues/objections/[模块名]_issue.md 提请仲裁
  • coord 负责仲裁,开发 AI 在各自分支修复

风险点

风险 影响 缓解策略
gRPC proto 生成代码版本不一致 服务间调用失败 批次 1 统一 buf generate
MySQL schema 冲突 数据库初始化失败 批次 0 逐服务验证 schema
Kafka topic 命名不一致 消费者收不到事件 对照 ARB-013 统一检查
端口冲突 服务无法启动 对照 port-allocation.md 检查
前端 MF 配置不匹配 微前端加载失败 批次 3 验证 MF config

4. 验收标准

验收项 标准
Docker Compose 全量启动 所有容器 healthy
核心链路 E2E 8 条核心链路全部跑通
健康检查 所有服务 /healthz + /readyz 返回 200
可观测性 Prometheus + Grafana + Jaeger 数据可见
错误处理 ActionState 信封格式一致
权限校验 未授权请求返回 401/403

5. 退出标准

  • 全量 Docker Compose 启动成功
  • 8 条核心业务链路端到端跑通
  • 三支柱可观测性可用
  • 无阻塞性 bug
  • 打 tag v0.6.0-integration