RocketMQ(11)——消费者拉模式和推模式

Posted elim168

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RocketMQ(11)——消费者拉模式和推模式相关的知识,希望对你有一定的参考价值。

消费者拉模式和推模式

RocketMQ提供了两种消息的消费模式,拉模式和推模式。我们先来看一下拉模式消费的应用。

拉模式消费

拉模式消费使用的是DefaultMQPullConsumer,核心逻辑是先拿到需要获取消息的Topic对应的队列,然后依次从队列中拉取可用的消息。拉取了消息后就可以进行处理,处理完了需要更新消息队列的消费位置。下面代码就演示了使用DefaultMQPullConsumer拉取消息进行消费的示例。核心方法就是调用consumer的pull()拉取消息。该示例中使用的是同步拉取,即需要等待Broker响应后才能继续往下执行。如果有需要也可以使用提供了PullCallback的重载方法。同步的pull()返回的是PullResult对象,其中的状态码有四种状态,可以看到示例代码中分别对四种状态进行了不同的处理。只有状态为FOUND才表示拉取到了消息,此时可以进行消费。消费完了需要调用updateConsumeOffset()更新消息队列的消费位置,这样下次通过fetchConsumeOffset()获取消费位置时才能获取到正确的位置。如果有需要,用户也可以自己管理消息的消费位置。

@Test
public void testPullConsumer(

以上是关于RocketMQ(11)——消费者拉模式和推模式的主要内容,如果未能解决你的问题,请参考以下文章

RocketMQ(11)——消费者拉模式和推模式

【RabbitMQ-4】拉模式和推模式

RocketMQ的消费模式

深度挖掘 RocketMQ底层源码「底层源码挖掘系列」透彻剖析贯穿RocketMQ的消费者端的运行核心的流程(Pull模式-上)

RocketMq小笔记

深度挖掘RocketMQ底层源码「底层源码挖掘系列」透彻剖析贯穿RocketMQ的消费者端的运行调度的流程(Pull模式)