zl程序教程

您现在的位置是:首页 >  其他

当前栏目

RocketMq(四) -- 使用问题

2023-04-18 15:45:57 时间

保证消息顺序

生产者:保证消息发送前后顺序,选择固定的queue

//根据hashcode求余选择
extends SelectMessageQueueByHash

//extends SelectMessageQueueByRandom
随机选择

 

消费者:串行消费,消费者会把消息放到本地队列并加锁,定时任务保证锁同步

//串行消费
implements MessageListenerOrderly

 

消息重复消费

重复消费原因:

重复发送:消息发送后返回异常,再次发送导致mq有两条messageid一样的消息

重复消费:消费者已经消费到消息,但是发送给mq的应答失败。mq会再一起发送这条消息。

 

办法:

消费者接口设计幂等,支持多次消费消息

分布式锁,redis