RabbitMQ养成记 (11. 什么是幂等性保障)

幂等性

什么是幂等性?

所谓的幂等性就是 因为各种原因 造成了发送方发送了两条相同的消息。
但是最后要导致一样的结果。 最典型的就是转账 你今天想吃肯德基发起来一笔 v你50 给你的好基友。 这笔转账 你发了一次,但是系统中由于其他原因,它产生了两条一样的消息,这时候最后能一条起作用 不然你不就扣成100了对吧。
注意幂等性 是一样的消息 才有幂等性的说法 如果说你两条消息是有差别的,那就没有幂等性的说法了


乐观锁机制

这里我们介绍一种比较常见的解决方案 就是乐观锁机制
在这里插入图片描述

就是我们设置一个版本号, 当这条语句在数据库中执行的时候 版本号发生变更,这样再来的消息就不会再执行了。

唯一标识符

每条消息都附带一个唯一标识符,该标识符可以是消息中的某个字段或者通过对消息内容进行哈希计算得到。在处理消息之前,先检查该标识符是否已经存在于系统中,如果存在则判定为重复消息,可以忽略或直接返回结果。

如果大家以后去金融类企业工作就会发现

一般金融类企业 系统之间的调用 都会有一个统一的业务流水号。
系统调用之间 还会有系统调用流水号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值