https://medium.com/@_sidharth_m_/how-to-solve-producer-consumer-problem-with-backpressure-fd59d660196b