Pipeline Pattern

Learn about the pipeline concurrency pattern in Golang.

Overview of pipeline pattern

As the name suggests, the pipeline pattern is the same as passing values from one point to another. For example, in a pipeline, we pass the value from one stage to another stage as a parameter.

We can get values from channels and perform some operations with the value. We can also send values to channels so those values can be consumed or received.

A pipeline is a series of independent components or stages connected via connectors. The component obtains data from the previous stage, performs some operations, and emits the data onto the next stage.

The idea is that we can break logical functionality into stages. Each stage does its own processing and passes the output to the next stage to get processed. We can modify each stage independent of one another, apply limits to each stage, and so on.

Get hands-on with 1200+ tech skills courses.