java - 怎么理解在生成订单的时候幂等性的控制

查看:394
本文介绍了java - 怎么理解在生成订单的时候幂等性的控制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

经常听人说在交易系统中,生成订单的时候要控制好两个:一个是幂等性的控制,一个是并发性的控制。
我的理解是这样的,并发性的控制,可以从数据库层面上,利用锁表中行的操作,分布式锁的方式来实现并发性,那么幂等性呢?查了一些资料对于幂等性这个概念的理解,还是越看越模糊,有没有什么通俗的对于幂等性的解释呢?此外怎么在生成订单的系统中做好幂等性的控制呢?
所以我的问题是:
1、怎么通俗的理解幂等性 ?
2、如何在项目中做到幂等性的控制,防止订单碎片的产生??

谢谢~~

解决方案

谢邀~其实你的理解的有错的~不知道你这些资料是在哪里看到的…
实际上…解决并发问题…不单单是简单的数据库锁能解决的…是需要通过一系列缓存、分流、过滤等共同实现的~
而等幂性只是一个约定~约定用户在同一操作中~生效的只有一个~例如用户狂点下单~实际中生效的只有一个…解决方法很简单~分2层…前端控制点一次就不能再点…后端做请求唯一标识~然后在缓存中保存~之后真正生效的只有一个~

感觉你这几次问的问题更像是教科书中讲的东西~实际应用中远远不是那样的~建议可以关注下科技累的一些文章~例如 淘宝写的秒杀原理~阿里云最近发表的 高并发下红包系统的架构等实际生产中总结的干货~

这篇关于java - 怎么理解在生成订单的时候幂等性的控制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆