Overview of Broadway features
mainBroadway is a library for building concurrent and multi-stage data ingestion and data processing pipelines in Elixir. It leverages the Erlang VM to provide a robust pipeline architecture with the following built-in capabilities:
- Back-pressure: Manages flow control to prevent overwhelming downstream stages.
- Automatic acknowledgements: Handles message ACKs at the end of the pipeline.
- Batching: Groups messages for efficient processing.
- Fault tolerance: Ensures pipeline resilience.
- Graceful shutdown: Allows the pipeline to finish processing before stopping.
- Built-in testing: Provides tools for verifying pipeline logic.
- Custom failure handling: Allows defining specific logic for failed messages.
- Ordering and partitioning: Supports maintaining message order and distributing work.
- Rate-limiting: Controls the speed of message processing.
- Metrics: Provides visibility into pipeline performance.