我被炒鱿鱼了
2020-06-06 16:05:22来源:博客园 阅读 ()
我被炒鱿鱼了
凌晨2点,正在做梦,突然接到了技术总监的电话:明天来公司收拾收拾,办理离职!
说实话当时我头脑一片空白,直接懵了。
第二天到公司,才知道我写的一段代码,昨天一天让公司损失了100多万,被定性为重大事故,导致了我直接被炒鱿鱼,而我的一些领导也受到了牵连,让我十分愧疚。
这个业务应该很多人都会遇到,所以拿出来分享一下,避免大家踩坑。
我们公司是做投资理财的,用户可以充值、投资、提现,充值这块是我做的,使用第三方支付进行充值,过程如下:
step1:用户网站中输入充值金额
step2:后端创建充值订单入库,此时订单是待支付状态
step3:跳转到第三方支付页面,输入银行卡,然后确认支付
step4:第三方支付通过我方提供的回调接口异步将充值结果告知我方
问题出在了step4,逻辑如下:
昨天由于网络不稳定,第三方支付对于多笔订单,产生了并发通知的情况,并发情况时,上面逻辑是有问题的。
同一笔订单,同时进行2次通知,此时都会走到@1,此时看到order的状态都是待支付状态,然后都会进入@2,最后导致账户余额重复增加了,最后导致,充值1000,账户余额增加2000,用户发现系统有这个bug,然后他们直接去提现了,导致公司重大损失,晚上公司对账发现了这个问题,技术总监进行了紧急修复。
这个问题,就是我们常说的幂等性的问题,是非常非常重要的一个技术点,所以大家一定要吃透,在日常开发中要时刻考虑幂等性的问题,以减少这种不必要的损失。
最后小编整理了一套技术资料不仅能精准消除技术盲点、累计面试经验,更可以攻克MQ、JVM、Spring、分布式、微服务等技术难题。
海量电子书,珍藏版
领取步骤
1.加微信获取
原文链接:https://www.cnblogs.com/yunxi520/p/13054544.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:java基本数据类型
- Java获取当前时间到凌晨12点剩余秒数 2020-06-03
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash