幂等性

幂等性是指一次和多次请求某一个资源应该具有同样的副作用,如果该资源具备幂等性,请求方只需要重新请求即可,而无需担心重复调用会产生错误。

保证幂等的方法:

1.数据库唯一索引约束。

2.MVCC方案,多版本并发控制,更新时带版本更新

例:update tableName set name=name,version=version+1 where version=version

3.悲观锁,select for update,整个执行过程中锁定该数据对应的记录。PS:这种在DB读大于写的情况下尽量少用。

4.分布式锁,在业务系统插入数据或者更新数据,获取分布式锁,然后做操作,之后释放锁

5.状态机幂等,如果状态机已经处于下一个状态,这时候来了一个上一个状态的变更,理论上是不能够变更的,这样的话,保证了有限状态机的幂等

6.token机制,防止重复提交

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值