问题:一个consumer订阅两个topic,其中一个topic消息过多堆积了,会影响另一个topic消费吗
答案:不影响。
为什么呢?
因为rocketmq首先对消息进行负载均衡(rebalance),就是将topic中的队列按照consumer进行分配之后,将pullRequest(里面存放了topic,brokerName,queueId)放入到一个linkedBlockingQueue中,这个时候已经排好了后面消费的顺序。例如100个request中有大概50个是TopicTest1,另外50个是TopicTest2。
在实际进行拉取的时候,多个线程从LinkedBlockingQueue中去take消息,按照放入的顺序进行消费,这个时候topicTest1消息已经堆积了,但还是会照常去消费TopicTest2,如果处理速度不影响的话,只有当TopicTest消费的速度过慢,导致将所有的线程都占住了,那也只是一时的,会影响TopicTest2的消费速度,但不会阻塞TopicTest2的消费。
如下图所示,PullMessageService线程负责将request放入队列,同时NettyClientPublicExecutor_1,2,3,4负责处理消息拉取,他们会并发从队列中获取消息,当获取到消息并处理完后会接着去take新的消息然后继续处理。
-------放入消息-----:MessageQueue [topic=%RETRY%testConsumer, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=%RETRY%testConsumer, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 拉取到消息:TopicTest1,NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 拉取到消息:TopicTest1,NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=%RETRY%testConsumer, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=%RETRY%testConsumer, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 拉取到消息:TopicTest1,NettyClientPublicExecutor_1 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=%RETRY%testConsumer, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=%RETRY%testConsumer, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=%RETRY%testConsumer, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 拉取到消息:TopicTest1,NettyClientPublicExecutor_2 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=0]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_4 处理TopicTest2...NettyClientPublicExecutor_4 -------放入消息-----:MessageQueue [topic=%RETRY%testConsumer, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=0]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=3]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_1 处理TopicTest2...NettyClientPublicExecutor_1 -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=2]PullMessageService -------放入消息-----:MessageQueue [topic=TopicTest2, brokerName=broker-a, queueId=1]PullMessageService 拉取到消息:TopicTest1,NettyClientPublicExecutor_3 -------放入消息-----:MessageQueue [topic=TopicTest1, brokerName=broker-a, queueId=2]PullMessageService 拉取到消息:TopicTest2,NettyClientPublicExecutor_2 处理TopicTest2...NettyClientPublicExecutor_2 拉取到消息:TopicTest2,NettyClientPublicExecutor_3 处理TopicTest2...NettyClientPublicExecutor_3
https://blog.csdn.net/b1303110335/article/details/118755341
标签:queueId,面试题,TopicTest2,PullMessageService,NettyClientPublicExecutor,topic,broker From: https://www.cnblogs.com/softidea/p/16706760.html