消息队列推与拉

消息队列是推(push)模型好呢还是拉(pull)的模型好呢?

各有利弊,根据实际应用场景来选择,下面的表格总结了它们各自的优劣点

优点 缺点
推(push) 实时性好 当生产者速率大于消费者时,可能会使消费者负载加重;获取不了消费者状态,那么需要有一些数据清理策略很难处理多消费者的不同消费速率
拉(pull) 可根据自身计算能力拉取数据,可以控制消费速率可以批处理消费,提高效率 可能会给服务端带来压力(当数据不足时);实时性稍弱,需要使用长轮询才能保证较好的实时