https://softwarepatternslexicon.com/stream-processing/scaling-and-parallelism/partitioning/
Partitioning: Efficient Data Distribution for Parallel Processing