四种协作形态的控制流归属
中心编排由调度者持有控制流,对等移交由当前执行者转移控制流,共享黑板由参与者竞争写入,独立复核由复核者否决或放行。
WHO HOLDS THE CONTROL FLOW
A · HUB
中心编排
调度者持有控制流
子任务之间不直接通信
终止:调度者判定完成
风险:单点判断错误放大
B · RELAY
对等移交
当前执行者转出控制流
接收方成为新的持有者
终止:无人可移交或目标达成
风险:来回踢球
C · BOARD
共享黑板
无单一持有者,靠写入竞争
状态即协调介质
终止:黑板进入收敛态
风险:写入冲突与活锁
D · CHECK
独立复核
执行方与判定方分离
判定方只否决或放行
终止:判定给出结论
风险:判定方信息不足
SAME THREE FAILURE MODES, DIFFERENT OWNER
责任稀释:出了错谁认领,取决于控制流持有者
中心编排里责任在调度者,对等移交里在最后一位持有者,黑板里落在最后一次写入,复核里落在判定者。
形态选错时,最常见的症状是「大家都知道有问题,但没人负责修」。
控制流归属决定了三件事的答案:谁判断完成、谁承担失败、谁有权终止。