13、软件架构中的管道与微内核架构风格解析

软件架构中的管道与微内核架构风格解析

1. 管道架构风格概述

管道架构(也称为管道与过滤器架构)是软件架构中反复出现的基础风格之一。当开发者和架构师决定将功能拆分为离散部分时,这种模式便应运而生。大多数开发者了解到,Unix 终端 shell 语言(如 Bash 和 Zsh)的底层原理就基于此架构。

在许多函数式编程语言中,开发者能看到语言结构与该架构元素之间的相似之处。实际上,许多采用 MapReduce 编程模型的工具都遵循这种基本拓扑结构。这种架构不仅可用于底层实现,还能应用于高级业务应用。

2. 管道架构的拓扑结构

管道架构的拓扑结构由管道(pipes)和过滤器(filters)组成。
- 管道 :管道在架构中形成过滤器之间的通信通道。为了提高性能,每个管道通常是单向且点对点的(而非广播式),它接受来自一个源的输入,并将输出定向到另一个目标。管道中携带的有效负载可以是任何数据格式,但架构师倾向于使用少量数据以实现高性能。
- 过滤器 :过滤器是独立的、与其他过滤器无关且通常无状态的。每个过滤器应仅执行一项任务,复合任务应由一系列过滤器处理,而非单个过滤器。该架构风格中有四种类型的过滤器:
- 生产者(Producer) :过程的起点,仅用于输出,有时也称为源。
- 转换器(Transformer) :接受输入,可对部分或全部数据进行转换,然后将其转发到输出管道。函数式编程的倡导者会将此功能识别为 map。
- 测试器(Tester)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值