小浣熊下载站:值得大家信赖的下载站!

所在位置:首页 > 新闻资讯 > 骑士资本的DevOps警示录:45分钟内从巅峰破产的自动化部署噩梦

骑士资本的DevOps警示录:45分钟内从巅峰破产的自动化部署噩梦

发布时间:2024-03-17 04:09:31来源:小浣熊下载站作者:


骑士资本的DevOps警示录:45分钟内从巅峰破产的自动化部署噩梦

前言


这是一则关于一家坐拥近4亿美元资产的公司——骑士资本集团,如何因一次失败的部署在短短45分钟内陷入破产深渊的真实故事。透过DevOps视角,我们将深入剖析这场金融界的“Knightmare”案例。

背景与事故经过


1. 骑士资本集团概况
作为全球金融服务巨头,其主营业务涵盖了做市商业务、电子交易执行服务以及机构销售和交易三大领域,在2012年时,更是稳坐美国股市交易量头把交椅,占据纽交所及纳斯达克市场显著份额。

2. RLP项目与SMARS系统更新
为响应纽约证券交易所即将推出的零售流动性计划RLP,骑士资本着手对自家高频交易软件系统SMARS进行升级。SMARS的主要功能是拆分并执行来自交易平台的大额订单。然而,在这次更新中,技术人员不慎留下了一个已废弃近9年的"Power Peg"模块代码,并更改了相关标识符。

部署灾难与「僵尸」代码激活


1. 手动部署漏洞
8台服务器中,有1台未成功部署新代码,导致旧版Power Peg模块死灰复燃。而整个部署过程缺乏复查机制,这一疏漏未能被及时发现。

2.Power Peg引发的连锁反应
2012年8月1日股市开盘后,第八台服务器上的"僵尸"代码启动,由于跟踪计数功能缺失,子订单进入无法停止的循环,疯狂发送交易指令,犹如脱缰野马,肆虐市场。

45分钟的毁灭性冲击


1. 问题爆发与应对无力
仅45分钟内,骑士资本就执行了远超日常交易量的巨额订单,部分股票价格剧烈波动。更令人扼腕的是,尽管系统早于开盘前发出邮件警告,但由于邮件并未设计成警报形式,员工们并未即时察觉到危机的到来。

2. 系统失控与最终止损
面对如此高速且无限制的交易风暴,骑士资本因缺乏切断开关(kill-switch)而束手无策,只能在线上环境中艰难排查问题。他们试图通过卸载正确版本的代码来解决问题,结果反而加剧了事态恶化。直至45分钟后,才勉强终止了这场噩梦般的交易狂潮,但此时已亏损高达4.65亿美元,几近破产边缘。

从DevOps角度反思与小编建议教训


1. 自动化发布与部署的重要性
手动部署不仅容易出错,而且难以复查。自动化配置管理与部署流水线,辅以严格的测试和检查环节,可以有效避免这类问题的发生。若骑士资本采用自动部署方案,或许就能避免此次惨剧。

2. 代码暗启动与分支风险
遗留的非工作代码与未经妥善管理的Flag标签,是本次事件的重要诱因。团队应强化对功能开关和代码分支的纪律性管理,定期清理和审视代码,确保不再需要的功能及时移除,以免造成不可预测的后果。

3. 可视化监控与反馈循环
在DevOps实践中,开发人员需时刻保持警惕,以便能快速识别并处理异常情况。如果骑士资本当时能有效利用监控系统,可能在股市开盘前就阻止了危机的发生。

4. 应对失败的预案与能力
具备成熟的问题应对能力和明确的应急响应机制至关重要。一旦发现问题苗头,能够迅速回滚代码、关闭故障设备,而不是在混乱中做出错误决策,进一步扩大损失。

总之,骑士资本的破产悲剧警示我们,优秀的软件开发和测试仅仅是成功的一半,更重要的是确保软件能安全、准确地交付至市场,避免任何可能导致公司覆灭的风险。对于所有涉及开发运维的团队来说,这是一个血淋淋却无比深刻的教训。 SMARS币

  • 热门资讯
  • 最新资讯
  • 手游排行榜
  • 手游新品榜