幂等性
什么是幂等性?
所谓的幂等性就是 因为各种原因 造成了发送方发送了两条相同的消息。
但是最后要导致一样的结果。 最典型的就是转账 你今天想吃肯德基发起来一笔 v你50 给你的好基友。 这笔转账 你发了一次,但是系统中由于其他原因,它产生了两条一样的消息,这时候最后能一条起作用 不然你不就扣成100了对吧。
注意幂等性 是一样的消息 才有幂等性的说法 如果说你两条消息是有差别的,那就没有幂等性的说法了
乐观锁机制
这里我们介绍一种比较常见的解决方案 就是乐观锁机制
就是我们设置一个版本号, 当这条语句在数据库中执行的时候 版本号发生变更,这样再来的消息就不会再执行了。
唯一标识符
每条消息都附带一个唯一标识符,该标识符可以是消息中的某个字段或者通过对消息内容进行哈希计算得到。在处理消息之前,先检查该标识符是否已经存在于系统中,如果存在则判定为重复消息,可以忽略或直接返回结果。
如果大家以后去金融类企业工作就会发现
一般金融类企业 系统之间的调用 都会有一个统一的业务流水号。
系统调用之间 还会有系统调用流水号