开发者社区> 问答> 正文

RocketMQ消息重复消费(同一条消息2毫秒内分别在两台机器上被消费)

幸福鳥 2018-09-03 17:41:22 5883

生产者:
2018-09-03 10:31:10.307 8182147902 [pool-2-thread-4] [INFO ] c.c.g.*.utils.RocketProducerUtil - RocketMq返回状态:SEND_OK,MQMsgId:0A3ABDAC00002A9E0000001D77B3EDE1,msgId:b338350ca72344428eae18c5040f412a

消费者:经查日志显示:
IP --> ..174.16,消费时间:2018-09-03 10:31:10.307 5102948121
IP --> ..174.15,消费时间:2018-09-03 10:31:10.308 5702882940

两个消费者,分别是不同的IP,在相差1毫秒的情况下分别消费一次,共消费2次。即使消费端做幂等处理,对于分布式系统来说,做数据同步也可能会存在延迟会,可能会导致幂等失效。

请问:两台服务器上的消费者,在相差1毫秒的情况下,分别消费两次,这样的现象正常吗?

消息中间件 RocketMQ
分享到
取消 提交回答
全部回答(2)
  • jonnxu
    2019-07-17 23:03:25

    我也遇到这个问题,不知道楼主有没有找出原因,我这边现象是同一个进程内部不同处理线程同时收到同一条消息,rocketmq日志会有如下这条日志:Note: accumulation consume occurs on mq:*,系统以前很少出现,但是昨天复位业务进程之后频繁出现,目前还没有分析出来为什么有这个问题

    0 0
  • 痞子姜
    2019-07-17 23:03:25

    RocketMQ不解决消息重复推送问题。解决的话一是在客户端做幂等性处理,二是消息有唯一编号,消费完的消息,存到消息表里,这样做去重。第二种对消息系统的吞吐量有巨大的需求,能用客户端去解决的话,最好用客户端的幂等性

    0 0
添加回答
+ 订阅

构建可靠、高效、易扩展的技术基石

推荐文章
相似问题