最近在调试RocketMQ消息发送与消费的Demo时,发现一个问题:只要重启程序,RocketMQ消息就会重复消费。
那么这是什么原因导致的,又该如何解决呢?
经过一番排查,发现程序使用的RocketMQ客户端版本是3.6.2,而测试环境安装的RocketMQ环境的版本是4.1.0。原来是客户端和服务器端版本不一样导致的,消息并没有最终被消费,即没有ACK消息确认,只要程序重启就会重复消费。
解决方案:RocketMQ客户端版本使用与服务器端的同一版本,即4.1.0版本。
划重点:使用RocketMQ的时候,客户端与服务器端一定要使用相同的版本。
网友评论