diff --git a/plan.md b/plan.md index 0ff4359..9182974 100644 --- a/plan.md +++ b/plan.md @@ -120,13 +120,15 @@ #### 实现里程碑(待按上述设计重建) -- [ ] 数据面:TypeSet 集群状态(节点表/转发链/leader/轮次延迟/负载指标/待办任务),每节点一份完整副本 -- [ ] 令牌环传输:HTTP 轮转传递 + 回执;两轮一周期(信息追加 → 同步) -- [ ] leader:初始 leader 选择(创建集群者)、首令牌发送、轮次延迟测量、令牌丢失重发 -- [ ] 新转发任务:挂到令牌 → 各节点负载评估(内存+网络)→ 负载最低节点摘取并创建 -- [ ] 离线处理:令牌超时 → 改集群状态 → 邻居转发转任务重挂 -- [ ] leader 监控:上家邻居心跳探测 → 崩溃提升为新 leader -- [ ] 新节点加入:入口节点 webui → 令牌插入新节点 + 更新转发链 +- [x] 数据面:Ring State(节点表/转发链/leader/轮次延迟/负载/待办任务)+ 日志(追加式 + 水位) +- [x] 令牌环传输:HTTP POST /cluster/token + 回执;两轮一周期(collect 信息追加 → sync 同步 + 摘取) +- [x] leader:创建集群者为首 leader,StartRing 首令牌 + 轮次延迟测量 + 令牌丢失重发(LossTimeout) +- [x] 新转发任务:POST /cluster/task 挂 pending → 令牌携带 → 负载最低者摘取 → 持久化 + 拉 worker(e2e 验证) +- [x] 增量日志同步:LogForwardAdd/LogNodeJoin 等事件随令牌第二轮 delta 传播,各节点重放收敛(e2e 验证) +- [x] 拓扑回写:摘取后 state 写入令牌,全网一致(e2e topology=[t1,owner]) +- [x] 新节点加入:POST /cluster/join → 插入环(后继) → AdoptState(e2e A+B 环) +- [ ] 离线处理:令牌超时 → 改集群状态 → 邻居转发转任务重挂(forwardToNext 已实现,待 e2e) +- [ ] leader 监控:上家邻居心跳探测 → 崩溃提升(WatchLeader 已实现,待 e2e) - [ ] 前端:集群页展示环拓扑/令牌轮次/负载/任务摘取;设置页二进制缓存状态 ### M7 运维与发布(原 M5)