互聯網產品每每要面對突如其來的巨大請求量,然後端業務可以支持的併發請求數量是有限的。經常使用的架構是首先讓請求進入消息隊列,例如 Kafka,RabbitMQ,GooglePubSub 等等。同時後端服務最爲消費者分批地從消息隊列中獲取本身可以處理的消息。後端
這裏就涉及到一些複雜問題,例如:網絡
以上這些功能 Broadway 都提供了,而且還有更多。架構
而要用好 Broadway,首先須要熟悉 GenStage。GenStage 是一個更加基礎的庫,使用它能夠定義出消息的消費者和生產者。併發
使用 GenStage 定義出的生產者和消費者本質上是一個個進程,包含了特定的預設的行爲模式。隊列