1. 异常现象
在本地进行 Apache RocketMQ 实验的过程中,偶然出现其顺序消息收不到,或者只能收到一部分消息的情况。感觉像是有谁帮我消费了一部分,或者说没有被我消费的那部分不知道去了哪里。
2. 排查分析
上本地的 RocketMQ-Console(我的是 http://127.0.0.1:8080),看一下 Consumer(消费者)菜单:
Quantity=2(监听消费者数)。原来是集群消费模式下有两个同名 Tag 在同一 Topic 消费组下,所以被 RocketMQ 负载均衡了。点击 client 终端查看得到所有消费者的IP地址。
3. 解决方案
给 Consumer 新设置一个 ConsumerGroup,再重新启动 Consumer 即可。