Back to Catalog
Integration
Message Routing
Pipes and Filters
Chain small, focused processing steps — each filter does one thing, pipes connect them.
Intent & Description
Real-world Use Case
Payment processing pipeline — Validate → Fraud Check → Currency Conversion → Fee Calculation → Routing. Each step is an independent filter. Fraud Check can be swapped without touching Currency Conversion. New step (AML check) inserted with zero changes to others.
Source
📌 TL;DR
Pipes and Filters = UNIX pipes for your messages. Each step does one thing well. Chain them to build complex pipelines from simple building blocks.
Advantages
- Each filter is independently testable
- Steps are reusable across different pipelines
- Pipeline topology can be changed without touching individual filters
- Natural fit for stream processing platforms (Kafka Streams, Apache Flink)
Disadvantages
- Many small steps = more latency hops
- Debugging requires tracing messages across multiple filters
- Error propagation across a pipeline is non-trivial
- Shared-nothing between filters can force repeated data lookups