寓言
两家铺子:一家做电箱,一家安排开关顺序
镇上有一家电箱铺,专门给各家作坊配装电箱。电箱管三相电、过载保护、漏电跳闸和用电日志。铺子的老师傅常说,你把任何机器插进电箱都能转,转得好不好不归我管,但着火了我一定在保险烧断前拉闸。
隔壁另有一家序灯铺,解决的不是电从哪来的问题,是机器启动的顺序问题。他们帮染坊开了十年灯:第一盏灯亮,告诉伙计水烧好了;第二盏灯亮,染缸可以下料;第三盏灯灭,染缸必须封盖。每一步是固定顺序,走错一步就得从头来。
两家人原本井水不犯河水。直到一天,纺纱坊同时请了电箱铺和序灯铺。纺纱坊需要电箱供稳定电力,也需要序灯规定开机、纺纱、卷筒、停机四个步骤。两家师傅在坊里碰面,纺纱坊的管事看着他们,忽然问了一句不该问的话:你们两家谁负责让机器不出错?
电箱师傅摇头说,我的活是拉闸防火灾——但什么是错误纺纱工序,我完全不懂。序灯师傅也摇头,说我只管灯的亮灭顺序对错——电闸突然跳了,我既不知道为什么跳,也不知道怎么恢复机器的上一状态。
管事花了一个月才终于理解:他需要电箱铺给他运行的底层条件——供电、保护、日志;也需要序灯铺给他业务的编排规则——先做什么后做什么。但两者中间他缺少了一层,即序灯设定的步骤需要电箱提供的状态快照和事件通知才能正确判断每一步是否真的完成了。没有这层衔接,灯亮了不代表机器真的转了。
两家铺子后来合作开发了一个公共接口:序灯的每步动作都向电箱发一个状态确认请求,电箱回复实时机器状态后序灯才推进下一步。电箱的过载保护也接入序灯的编排逻辑——如果某台机器连续三次过载,序灯的流程自动暂停,等待人工检查。
纺纱坊的年底总结上多了一个新预算项,叫编排与运行的接口治理。管事说,这笔钱在请两家进坊的第一天就该批下来。