Pipe and Filter is a simple architectural style, which connects a number of components that process a stream of data, each connected to the next component in the processing pipeline via a Pipe.
The Pipe and Filter architecture is inspired by the Unix technique of connecting the output of an application to the input of another via pipes on the shell.
The Pipe and Filter architecture consists of one or more data sources. The data source is connected to data filters via pipes. Filters process the data they receive, passing them to other filters in the pipeline. The final data is received at a Data Sink:
Pipe and filter are used commonly for applications that perform a lot of data processing such as data analytics, data transformation, metadata extraction, and so on.
The filters can be running on the same machine, and they use actual Unix pipes or shared memory for communication. However, in large systems, these usually run on separate machines...