高并发下的不同订单相同订单号的处理
来源:互联网 发布:旺旺消息群发软件 编辑:程序博客网 时间:2024/06/03 12:30
公司的用户数突然并发数激增,紧急处理,添加了服务的带宽输出,内存等一些服务器操作,解决了使产品正常使用。
发现一天3000多单的数据里,有很多不同的订单,但是订单号却相同,查了半天,获取订单号的接口没有问题,创建订单的接口也没有问题,
问题就出现在高并发下:
1、订单号是根据获取当天最大的订单号+1,作为参数插入数据库,生成订单,
2、在获取订单号到生成订单有一定的时间差,大概也就是几毫秒的时间差,但是在高并发下,就有可能同时获取到相同的订单号,
找到问题了,解决办法:
1、订单表中给ordre_sn订单号这个字段加上唯一索引,(数据库一开始设计的并不好)
2、在产生相同订单号的时候,将order_sn+1后再次插入数据库,如果还是有相同的订单号,则不在+1重复插入(其实这个操作可以省掉,直接报系统繁忙就可以了)
还有什么好的办法解决这类问题吗?求教。
0 0
- 高并发下的不同订单相同订单号的处理
- 并发之如何让相同的订单不允许并发,不同的订单允许并发?
- 高并发下怎样生成唯一的订单号
- 关于在高并发下生成订单号的策略
- AX2009 销售订单的不同情况生成不同的订单号
- 高并发下生成订单唯一流水号的方法
- 商城订单高并发下的数据安全
- 高并发下唯一订单号生成器【16位数字订单号】
- 高并发生成订单号
- 高并发的处理
- 每秒处理10万高并发订单的乐视集团支付系统架构分享
- 每秒处理10万高并发订单的乐视集团支付系统架构分享
- 每秒处理10万高并发订单的乐视集团支付系统架构分享
- 每秒处理10万高并发订单的乐视集团支付系统架构分享
- 每秒处理10万高并发订单的乐视集团支付系统架构分享
- 每秒处理10万高并发订单的某集团支付系统架构分享
- 高并发生成唯一订单号
- php商城高并发下订单模拟
- js算法题
- Fedora NFS配置
- topic4:Qt入门之常用qt控件认知之Button系列
- js中的正则表达式
- removeClass、hover、toggle
- 高并发下的不同订单相同订单号的处理
- iOS 中SQLite3的使用(Demo)
- hadoop,hbase,zookeeper源码编译
- js中对象的继承
- 重构的动力
- 开始记录--技术的点滴
- 真正的快速排序算法javascript实现
- Android客户端转换php服务端获取的时间戳的转换
- unity3d怎么连接sql server数据库?