接口幂等性解决方案

1.同步锁(单线程,集群可能会失效)
2.分布式锁如redis(实现复杂)
2.业务字段加唯一约束(简单)
3.令牌表+唯一约束(简单推荐)
4.mysql的insert ignore或者on duplicate key update(简单)
5.共享锁+普通索引(简单)
6.利用MQ或者Redis扩展(排队)
7.其他方案如多版本控制MVCC 乐观锁 悲观锁 状态机等。。。
对客户端请求排队或者单线程都可以处理幂等问题,需要根据具体业务选择合适的方案但必须前后端一起做,前端做了可以提升用户体验,后端则可以保证数据安全。

猜你喜欢

转载自www.cnblogs.com/linqiaobao/p/13368811.html