← 中文资源

简体中文版本

编舞与编排

编舞让各服务独立响应彼此事件;编排把时序集中在协调者手里——在“分布式隐式流程”与“显式集中控制”之间取舍。

阅读英文原文

概念定义

让多个服务完成一件事有两种做法。编舞:各服务对事件作反应、无人指挥,流程是订阅拓扑的涌现属性;编排:一个组件持有配方并指挥其余,流程是一份可读工件。

工作机制

编舞流发布领域事件、跨服务订阅:加步骤即加订阅者,失败表现为卡住的流程、需要链路追踪诊断。编排流让事件与命令都过协调者,其状态机编码步骤、重试与补偿——监控与测试都有唯一落点。

使用场景

可独立追加、消费者彼此无关的简单步骤用编舞;带业务可见时序、补偿、超时或监管审计的流程用编排。多数成熟系统按流程临界度混用两种。

常见误区

编舞并非“没有协调”:时序仍在,只是编码在订阅拓扑里、对任何单个读者不可见——关键二十步流程纯编舞化后要在十二个仪表盘里调试。编排也不是回到单体:协调者只协调不拥有业务数据与逻辑,但业务逻辑会因引力往协调者堆积,要像单体边界一样评审。跨 broker 的事件顺序保证不同:依赖顺序的编舞状态机需要按实体序列化,否则状态损坏。