知识卡片
管道过滤器演化为状态机模式的临界点
内容
管道-过滤器模式下业务流程线性单向流转,结构清晰、模块无状态、易水平扩展。但业务发展后系统间开始互相调用,线性链条退化成蜘蛛网,管道-过滤器就撑不住了。这时该引入状态机(协调者)模式:各系统重新独立互不感知,由中心状态机维护数据所处阶段并分发。发散:架构模式无绝对优劣,一旦业务打破线性前提就该主动切换到能容纳非线性调度的状态机模式。
参考来源
- 位置:第15章《技术架构与业务架构的融合》15.8-15.9节「管道—过滤器架构模式」「状态机架构模式」(源文件:_epub-src/text/part0021.html)
- 结论依据:原文描述管道-过滤器模块无状态、线性单向、易水平扩展,但业务发展后系统间开始互相调用变成"蜘蛛网",此时管道-过滤器已无法满足,需引入状态机/协调者模式,直接支持卡片结论。
- 原始内容:"管道—过滤器有一个典型的特征:计算模块本身是无状态的……这意味着它很容易做水平扩展和高可用……但随着业务的发展,因为某些迫不得已的原因,系统之间开始了互相调用……到了这个阶段,系统已经变成了'蜘蛛网'……管道—过滤器模式已经无法满足了,需要一个新的、更灵活的方式,就是状态机模式或协调者模式。"