ActiveMQ笔记68-高级特性之防止重复调用

网络延迟传输中,会进行MQ的重试,可能会出现重复消费。

如果一条消息是做数据库的插入操作,那么给这个消息做一个唯一主键,如果出现了重复消息,从数据库主键唯一性层面,导致主键冲突,可以避免重复插入数据。

可以使用第三方服务来做消费记录,以redis为例,给消息分配一个全局id,只要消息消费过,将<id,message>写入redis,当消费者开始消费之前,先去redis里查看有没有消费记录。

如果有消费记录,那么这条消息已经被处理过,否则,执行消费逻辑,并将<id,message>存到redis里。

发布了172 篇原创文章 · 获赞 1 · 访问量 7145

猜你喜欢

转载自blog.csdn.net/qq_36059561/article/details/104281021