避免重复下单的几种解决方案 23、如果用户没有一个唯一标识或者说用户不需要登陆就能下单,该如何避免重复下单 避免重复下单,本质上是防重提交 或者 说是幂等的问题,一般来说按照漏洞模型,我们优先会将问题去前置进行一个处理,在前端,前端侧,在前端侧,某个提交订单的按钮只能够提交一次,然后禁止点击,在网络正常情况下,已经能够减少大量重复请求提交到后端,即使有重复请求,也大概率是并发提交的问题。解决幂等的方案有非常多种,比如最基础的方案:各种锁机制,乐观锁、悲观锁、分布式锁等,数据库唯一ID,防重表,状态字段等,字这些方案根据不同场景还能够延伸出非常多的小肠经,比如:按照下单的业务流程,我们可以使用幂等token来实现,从方案上来讲,其实单独使用各种锁机制根本没有办法解决幂等的问题,只能够解决防虫提交的问题,之前也出过一些线上事故,某次XXXXXX(懒得打了)手写通用幂等框架。。。。 用户恶意下单不付钱。。。。。。风控。。。。。。懒得打了
点赞 评论

相关推荐

06-01 21:50
已编辑
天津理工大学 Java
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务