大家好,我是程序员鱼皮。
今天上午被一条消息刷屏了:上交所 P0 事故直接宕机、连带着多家炒股软件也崩了!
咋回事呢?
很多朋友应该也听说了,A 股这 3 天简直疯了!连涨 300 点重新站上 3000 点,白酒、地产板块甚至迎来 涨停!
前几天华尔街还在 “anything But china”,现在已经是 “all in,buy china” 了。
今天早上,A 股三大股指又是大幅高开。然而正当大家高呼 “牛回,速归!” 的时候,上午 10 点上证指数成交量 急剧萎缩 90% 以上,指数直接拉成了直线。
后面更是出现 交易异常情况,成交数据停止在 10:22 左右!
有业内人士认为市场委托量非常大,撤单委托可能无法及时收到明确结果,属于正常现象。
也就是说真的是被买崩了?
根据最新消息,11 点半收盘前后,上交所成交已陆续恢复,整个故障大概持续了 1 个小时左右:
聊点儿技术
根据网上的消息,本次故障的具体表现包括但不限于 “异常卡顿、交易延迟”。
另据财联社,有券商已向分支机构通报,即 “经公司技术监控发现,目前报单有延迟。各家券商均有反馈,属于 行业共性问题”。有业内人士分析,当前市场委托量非常大,客户的撤单委托可能无法及时收到撤单成功或失败的明确结果,属于正常现象。
在发生异常卡顿和交易延迟的情况下,主要原因通常是由于市场委托量激增导致的订单拥挤,进而引发 “塞单”。这种情况下,客户的撤单请求可能无法及时得到反馈,导致他们不确定委托状态,进而频繁撤单和重新申报,这进一步加剧了系统的流量压力,严重时还会造成雪崩!
历史上其他交易所也曾遇到类似情况,股市波动大的时候,系统压力也跟着大。
为有效优化和解决这类问题,一般交易所和券商系统都会采用分布式架构,以便在高峰期间更灵活地分散请求压力。而且最关键的是,下单请求一般都是利用消息队列实现 排队和异步处理 的,可以对系统进行削峰,减少瞬时负担。系统故障或重启后,还能够陆续捞回未处理的消息,重新处理未完成的交易。
其实有点儿设计秒杀系统的感觉了~ 这也是程序员朋友们经常在面试时被考察的问题,一旦并发量上来了,血压也就上来了。