RabbitMQ 推拉模式
·
概念
RabbitMQ 支持两种消息传递模式:
推模式(push):消息中间件主动将消息推送给消费者。
拉模式(pull):消费者主动从消息中间件拉取消息。
核心工作模式
RabbitMQ 主要基于推模式工作,核心设计是让队列中的消费者接收生产者发送的消息:
使用 channel.basicConsume 方法订阅队列时,RabbitMQ 会主动将消息推送给订阅该队列的消费者。
如果仅需获取单条消息而非持续订阅,可使用 channel.basicGet 方法以拉模式消费消息。
Spring Boot实现推拉模式:
生产者发送 20 条消息到 队列中
![]()
拉模式


![]()
推模式

Rabbit SDK 实现推拉模式
生产者发送 10 条消息到 队列中;
![]()
拉模式

一次只拉去一条消息;
推模式

一次收到所有消息;
推拉模式总结
推模式
特点:消息获取更实时。
适用场景:对数据实时性要求较高的场景,例如实时数据处理、监控系统、报表系统等。
拉模式
特点:消费端可按自身处理速度消费,避免消息积压;允许消费者在准备好后再请求消息,避免资源浪费。
适用场景:需要流量控制、或需要大量计算资源的任务。
更多推荐
所有评论(0)