接口幂等与如何防止消息重复怎么解决?
幂等:执行多次与执行一次对业务数据的影响一样
本质:数据没有错误
从本质解决问题,执行代码前先加分布式锁,然后判断(判断数据是否能插入,是否能更新,是否能删除)。既然加分布式锁就涉及到锁的key是什么?推荐用业务key,而不是请求的唯一ID或者消息的唯一ID。因为可能两个不同的请求/消息都想操作同一数据,数据就不安全了。
聊聊接口幂等与消费幂等的本质
最新推荐文章于 2024-04-08 14:59:57 发布
接口幂等与如何防止消息重复怎么解决?
幂等:执行多次与执行一次对业务数据的影响一样
本质:数据没有错误
从本质解决问题,执行代码前先加分布式锁,然后判断(判断数据是否能插入,是否能更新,是否能删除)。既然加分布式锁就涉及到锁的key是什么?推荐用业务key,而不是请求的唯一ID或者消息的唯一ID。因为可能两个不同的请求/消息都想操作同一数据,数据就不安全了。