分布式管理与故障处理
12.1 Worker / Backend 注册
注册信息:
- worker_id
- backend_id
- host_id
- backend_type
- engine / runtime version
- adapter version
- protocol version
- capabilities
- resource capacity
- labels
- last_heartbeat
- generation
12.2 租约
沿用 ADR 当前参数作为初始候选:
- 心跳:1 秒。
- TTL:5 秒。
- 连续 3 次判定失联。
这些参数需在网络抖动和高负载条件下验证。
失联策略:
- 冻结新增负载。
- 不主动断开已有连接。
- 记录租约失效时间。
- 允许 Backend 按策略保持已有会话。
- 恢复后重新握手并同步状态。
- 超过最大失联时长后按 Swell 的 DrainPolicy 执行。
- 旧 generation 的事件丢弃或归档,不得覆盖新状态。
12.3 故障分类
- Controller 失联。
- Worker 失联。
- Supervisor 崩溃。
- Engine Bot 进程崩溃。
- Bridge 断线。
- 监控 Provider 失联。
- 目标服务器不可用。
- 本机资源耗尽。
- 事件队列溢出。
- 计划数据不一致。
每种故障都要定义检测、状态、恢复动作、报告影响和是否允许自动重试。