美文网首页
如何保证消息不会重复消费(幂等性)

如何保证消息不会重复消费(幂等性)

作者: 七月_JulyFY | 来源:发表于2019-08-24 00:47 被阅读0次

保证消息不被重复消费,可以理解为保证消息的幂等性

1. 比如你的数据需要写入数据库时,先根据主键判断数据库中是否存在,存在则 Update

2. 如果是 redis 对消息进行操作,因为 redis 是 set 操作,所以消息是幂等性的

3. 如果不是以上2个场景,可以让生产者提供一个全局唯一 id,对消息进行消费的时候根据唯一 id 先去 redis 中查看是否存在,如果存在则不就行消费,如果不存在,先将数据存入 redis 中,再将数据存入

4. 进数据库进行唯一键约束(不是 id,其他的字段),第二次插入的时候会报错不会重复插入数据

5. redis incr 命令

相关文章

网友评论

      本文标题:如何保证消息不会重复消费(幂等性)

      本文链接:https://www.haomeiwen.com/subject/swfosctx.html