1.6 KiB
1.6 KiB
两节点 Compose 覆盖验证
验证日期:2026-09-22
验证范围:两个 Orbit 节点共享 MySQL、独立节点就绪、停止单节点后的对等节点可用、停止节点重新加入。
验证环境:Docker Desktop、MySQL 8.4、当前 orbit:dev 镜像、Go 1.27.1 构建产物。
验证入口
docker compose \
-f deploy/docker-compose.yml \
-f deploy/docker-compose.ha.yml \
up -d mysql verify orbit-a orbit-b
本机已有大量 Docker 自定义网络,本次只在临时测试覆盖文件中使用默认 bridge 网络和 MySQL 链接,以避开本机地址池耗尽;正式的 deploy/docker-compose.ha.yml 保持 Compose 项目隔离网络。
结果
一次性 MySQL 空库完成健康检查、迁移、权限收紧和 schema 核验后,两个 Orbit 节点均启动并通过就绪探针:
ha-e2e=both_ready
停止 orbit-a 后,orbit-b 继续返回就绪:
ha-e2e=peer_ready_after_orbit_a_stop
重新拉起 orbit-a,它重新完成迁移/核验依赖并恢复就绪:
ha-e2e=orbit_a_rejoined
两节点分别绑定临时主机端口 18087 和 18088;正式入口由 Nginx upstream 或负载均衡器同时指向两个节点,并以 /health/ready 作为摘流条件。
验收边界
该回归证明节点无本地权威状态、停止/重加入顺序和 Compose 依赖正确;它没有证明数据库自动切换、跨故障域、负载均衡器故障、生产证书轮换、容量余量或 RPO/RTO。任务执行和租约接管仍需在目标拓扑中按真实 Worker、慢消费者和数据库故障场景留证。