互联网产品每每要面对突如其来的巨大请求量,然后端业务可以支持的并发请求数量是有限的。经常使用的架构是首先让请求进入消息队列,例如 Kafka,RabbitMQ,GooglePubSub 等等。同时后端服务最为消费者分批地从消息队列中获取本身可以处理的消息。后端
这里就涉及到一些复杂问题,例如:网络
以上这些功能 Broadway 都提供了,而且还有更多。架构
而要用好 Broadway,首先须要熟悉 GenStage。GenStage 是一个更加基础的库,使用它能够定义出消息的消费者和生产者。并发
使用 GenStage 定义出的生产者和消费者本质上是一个个进程,包含了特定的预设的行为模式。队列