RocketMQ消息重复消费(同一条消息2毫秒内分别在两台机器上被消费)
我也遇到了同样的问题,折腾了好久。我的问题是因为给所有消费者(consumer)设置了相同的instanceName导致消息被ConsumerGroup中的每个Consumer都消费一次。 解决方案:去除consumer的instanceName设置。 //consumer.setInstanceName(); 本地环境测试后可以正常消费消息了。
但使用Docker部署项目后,发现又再次出现重复消费问题。经过一番查询后,发现不设置instanceName时,rocketmq会使用ip@pid作为instanceName(pid代表jvm名字)。又再次导致instanceName相同。 解决方案:设置consumer的instanceName,给一个UUID使instanceName不相同,解决。 consumer.setInstanceName(UUID);
赞0
踩0