软件架构之管道与微内核架构风格解析
1. 管道架构风格
管道架构(也称为管道与过滤器架构)是软件架构中反复出现的基本风格之一。当开发者和架构师决定将功能拆分为离散部分时,这种模式便应运而生。许多开发者通过Unix终端 shell 语言(如Bash和Zsh)了解到该架构的底层原理。
1.1 拓扑结构
管道架构的拓扑结构由管道(pipes)和过滤器(filters)组成。管道在过滤器之间形成单向通信,通常是点对点的方式。
- 管道 :是过滤器之间的通信通道,通常是单向且点对点的,以提高性能。管道承载的有效负载可以是任何数据格式,但架构师倾向于使用少量数据以实现高性能。
- 过滤器 :是独立的、无状态的,每个过滤器只执行一项任务。复合任务应由一系列过滤器处理,而非单个过滤器。该架构中有四种类型的过滤器:
- 生产者(Producer) :是流程的起点,仅向外输出,有时也称为源。
- 转换器(Transformer) :接收输入,可对部分或全部数据进行转换,然后将其转发到输出管道。函数式编程的倡导者会将此功能视为 map 。
- 测试器(Tester) :接收输入,测试一个或多个条件,然后根据测试结果选择性地产生输出。函数式程序员会认为这类似于 reduce 。
- 消费者(Consumer) :是管道流的终止点。消费者有时会将管道处理的最终
超级会员免费看
订阅专栏 解锁全文
53

被折叠的 条评论
为什么被折叠?



