Producer / Consumer is concurrency model (ie two threads/process communication) where:
The data send and received is called a message.
When the consumer becomes also a producer for another consumer, they form a chain called a pipeline.
See also Event - Provider
What solutions do we have when there is a fast producer and a slow consumer (ie if the upstream is faster, than the downstream)