消息的消费者在获取消息时,主要有两种方式来获取消息:

  • 推送Consume
  • 拉取Get

其中消息推送Consume,属于一种推送模型。即在注册一个消费者后,RabbitMQ会在消息可用时,自动将消息进行推送给消费者。


这种模式我们已经使用过很多次了,如下:
RabbitMQ消息的获取方式




消息的拉取Get方式,属于一种轮询模型,发送一次get请求,获得一个消息。如果此时RabbitMQ中没有消息,会获得一个表示空的回复。


这种方式性能比较差,每获得一条消息,都要和RabbitMQ进行网络通信发出请求。而且对RabbitMQ来说,RabbitMQ无法进行任何优化,因为它永远不知道应用程序何时会发出请求。


既然每发送一次get请求,只能获得一个消息,那么我们实现的时候,则要在一个循环里,不断去服务器get消息,如下:
RabbitMQ消息的获取方式

相关文章: