哪里有的玩飞艇微信群-都市新闻坊

                                                    哪里有的玩飞艇微信群:程序员的一次失误 在 45 分钟里搞垮了一家上市公司-都市新闻坊

                                                    最新资讯 2020年03月31日 21:23

                                                    程序员的一次失误 在 45 分钟里搞垮了一家上市公司-都市新闻坊

                                                    程序员的一次失误 在 45 分钟里搞垮了一家上市公司-都市新闻坊

                                                    【全球确诊超70万】

                                                    然而⊙⊿♂,Knight 只有 3.65 亿美元的资产⌒〇π。

                                                    地狱 45 分钟

                                                    哪里有的玩飞艇微信群

                                                    具有正确 SMARS 部署的 7 台服务器开始正确处理这些订单∵∵。然而?♂﹡,发送到第 8 台服务器的命令触发了可支持的重新利用标志△,并从死地中恢复了旧的 Power Peg 代码☆□♀。

                                                    哪里有的玩飞艇微信群

                                                    这是一个真实的故事〇。尽管 Doug Seven 并不是事件的参与者⌒,但他在后来的会议中不断提及 DevOps、代码配置和持续交付的主题∵☆,希望让开发人员意识到部署的重要性⌒♂。

                                                    在上午 8:01 到 9:30 之间⊿?┊,Knight 工作人员也收到了 97 封邮件π⌒。可惜的是▽⌒,这些电子邮件不是作为系统警报设计的﹡,因此没有人立即查看它们π┊△。

                                                    哪里有的玩飞艇微信群

                                                    在 Knight 经历的 45 分钟内⊿,他们尝试了几种反制措施△,试图阻止错误的交易♂。由于没有终止开关⊙♂↑,所以他们只能在实时交易环境中尝试诊断问题┊。

                                                    这个故事的主角是一家名为 Knight Capital Group 的美国全球金融服务公司♂∵,它从事做市、电子执行、机构销售和交易♀↑〇。

                                                    哪里有的玩飞艇微信群

                                                    2012 年 7 月 27 日至 2012 年 7 月 31 日期间〇,Knight 的开发人员每天手动将新的软件部署到公司的 8 台服务器上△∴⊿。这就是 SEC 文件中关于手动部署过程的内容〇♀﹡。如果 SEC 文件中有关于部署的内容┊,那么就可能出现了严重的错误┊。

                                                    哪里有的玩飞艇微信群

                                                    当时∵,纽约证交所正计划于 2012 年 8 月 1 日推出一项新的零售流动性计划π。

                                                    哪里有的玩飞艇微信群

                                                    换句话说⊙⊙﹡,他们删除了工作代码◇⌒∵,留下了损坏的代码∟∵。

                                                    2005 年π∴◇,Knight 将这种累计跟踪功能移到了代码执行的早期阶段◇,从而从 Power Peg 中删除了计数跟踪⊿﹡。

                                                    哪里有的玩飞艇微信群

                                                    上午 9:30 开市时∴∟,人们很快就知道出了问题⌒∵。到上午 9 点 31 分♂∟,华尔街的许多人都清楚发生了一些严重的事情△□。市场上充斥着非正常交易量的股票订单□。

                                                    2012 年⊙⊿⌒,Knight 是美国最大的股票交易商〇,在纽约证交所和纳斯达克的市场份额约为 17%⌒♂∴。Knight 电子交易集团(ETG)平均每日交易量超过 33 亿笔↑∵,每日交易额超过 210 亿美元∴。

                                                    为了准备这次活动∴♀◇,Knight 更新了他们的路由器 SMARS⊙。这个路由器负责将订单发送到市场上执行△∵。SMARS 的核心功能之一是接收 Knight 交易平台其他组件的订单(父订单)⊙,然后发送一个或多个子订单执行π﹡∵。换言之⌒⌒,SMARS 将从交易平台收到大量订单⌒﹡,并将它们分成多个较小的订单﹡?∟,以便找到股票数量相匹配的买家或者卖家▽。父订单越大♂⌒┊,生成的子订单越多⊙。

                                                    在 SMARS 中△,有一段老旧的代码▽,名为‘Power Peg’↑∵,它已经 8 年没被用到过了⌒,而此次更新的目的正是要换掉这段代码?∵。更新的代码重新调整了用于激活 Power Peg 功能的旧标志的功能♂。

                                                    每分钟π,系统上约有 800 万股股票被交易▽↑⊙。他们无法确定是什么导致了错误的命令▽,所以他们从正确部署的服务器上卸载了新代码ππ∴。

                                                    代码经过了彻底的测试∴□,并且还进行了一系列的验证⊿π。所有的一切都看起来很完美⊿⊿,找不到出错的理由π⌒∟。

                                                    哪里有的玩飞艇微信群

                                                    到上午 9 点 32 分⊿,华尔街的人们都在想◇∴▽,为什么订单还没有停下来⌒⌒,为什么没有人按下任何系统的关闭开关⌒∟↑?结果他们发现⊿□,并没有关闭开关↑↑。在交易的前 45 分钟里?,Knight 的交易量占了总交易量的 50% 以上∴,这使得某些股票的市值上涨了 10% 以上┊。因此↑∟,其他股票因错误的交易而贬值﹡∴。

                                                    部署 SMARS 的工程师并不是此事唯一的责任人♂,Knight 设置的流程和他们所面临的风险并不匹配△﹡。此外□┊☆,他们的流程天生就容易出错♂△∴。任何时候∟,如果你的部署过程依赖于人主动阅读和遵循说明?∵,那么都将面临风险∟。人是会犯错的△。错误可能出现在指令中△,也可能出现在指令的解释中┊∴∟,或出现在指令的执行中∵⊿∴。

                                                    哪里有的玩飞艇微信群

                                                    尽可能地自动化∵☆?。via:https://dougseven.com/2014/04/17/knightmare-a-devops-cautionary-tale/

                                                    8 年前☆,因为一次失败的部署◇▽,Knight Capital Group 在仅仅 45 分钟内就造成了 4.6 亿美元的亏损▽?。

                                                    哪里有的玩飞艇微信群

                                                    2012 年 7 月 31 日π▽,Knight 拥有约 3.65 亿美元的资产∴。

                                                    2012 年 8 月 1 日♀↑∵,在美国东部时间上午 9:30∴,市场开盘⊿△。Knight 开始代表客户处理订单□⊿。

                                                    哪里有的玩飞艇微信群

                                                    45 分钟后♂ππ,美国股市最大的交易商、纽约证交所和纳斯达克的主要做市商 Knight 破产∵?,4 个月后被 Getco LLC 收购﹡。

                                                    哪里有的玩飞艇微信群

                                                    种种数据表明⌒,当时公司的运营和财务状况非常优秀﹡┊。

                                                    Power Peg 代码用于在执行子订单时▽┊?,根据父订单计算购买或者出售的股份⊿。Power Peg 将指示系统在完成父订单后停止传送子订单∟♂↑。

                                                    导语:软件部署很重要☆。如果有人告诉你┊↑,45 分钟就能搞垮一家大公司▽,你可能会觉得有点荒谬△♂。但工程师 Doug Seven 却真的亲历过这样的事情⌒♂。

                                                    软件发布必须可重复、可靠所有开发和运营团队都应该从这次事件中吸取教训♂▽∟。仅仅构建优秀的软件并对其进行测试是不够的π,你还必须确保它被正确地交付给市场⊿▽,这样你的客户才能获得你所交付的价值∴♂⊙。

                                                    然而┊┊∵,在新代码的部署过程中∴,Knight 的一名技术人员忘记将新代码复制到所有 8 台 SMARS 计算机服务器中——他漏掉了其中一台服务器△。

                                                    哪里有的玩飞艇微信群

                                                    也就是说⌒▽◇,Power Peg 会跟踪子订单∴,并在父订单完成后停止它们∟⌒↑。

                                                    死灰复燃的旧代码

                                                    哪里有的玩飞艇微信群

                                                    即使没有实施完整的连续交付过程〇?,你仍然需要遵守的几个连续交付原则:

                                                    想象一下⊙,如果你有一个系统π⊿,它能够向市场发送自动化的、高速的订单□∵,且没有任何跟踪程序来检查是否执行了足够的订单↑∟,会发生什么∵∟?没有比这更糟糕的事了♀。

                                                    在开盘的前 45 分钟∟π▽,市场收到并处理了 212 份父订单⊙◇。因此▽♀,SMARS 向市场发送了数以百万计的子订单π,产生了 400 万笔交易?∟□,而其中 154 只股票的交易量超过了 3.97 亿股π。这意味着〇♂△,Knight 资本集团在 45 分钟内造成了 4.6 亿美元的亏损▽∴﹡。

                                                    更糟糕的是⊙⊙◇,Knight 的系统在当天早些时候开始自动发送电子邮件□。早在上午 8:01π▽⊙,SMAR 已经处理了符合上市前交易条件的订单π。邮件消息引用 SMARS□┊∟,并将错误识别为‘Power Peg disabled’⌒▽∴。

                                                    哪里有的玩飞艇微信群

                                                    这更加放大了问题△⊙∴。最开始♂↑π,仅在部署不正确的服务器上♀﹡,额外的父命令激活了 Power Peg 代码△∟﹡。现在◇,问题蔓延到了所有服务器上□。最后⊿,他们终于停止了系统◇☆,但此时已经进行了 45 分钟的交易?♀π。

                                                    没有第二个技术人员来审查这个部署▽。

                                                    哪里有的玩飞艇微信群

                                                    故事背景

                                                    哪里有的玩飞艇微信群

                                                    部署需要自动化⊙,并且可重复♂∵┊,尽可能避免潜在的人为错误♂?⊿。如果 Knight 实现了自动化部署系统♀∟π,将配置、部署和测试全部自动化?,那么这次错误本可以避免△▽∵。

                                                    软件发布应该是一个可重复、可靠的过程π☆∵。

                                                    哪里有的玩飞艇微信群

                                                    Knight 的所有人都没有意识到◇∟⊿,Power Peg 代码并没有从第 8 个服务器上删除♂┊□,也没有添加新的 RLP 代码⊿∵⊿。Knight 没有书面流程要求这样的审查∴∴▽。

                                                    当激活第 8 台服务器上的 Power Peg 标志时⊿▽┊,Power Peg 功能开始路由子订单以供执行▽。但由于没有根据父订单跟踪共享量♂?∟,造成了一个永无止境的循环﹡。

                                                    哪里有的玩飞艇微信群

                                                    究竟是怎么回事▽□?Doug Seven 在博客中分享了这个故事⊙?△。

                                                    杀手代码如僵尸般的攻击

                                                    上一页: 特朗普化身"北美李佳琦"?中国给我们的物资非常好! 下一页: 这是美国给流浪汉的隔离点:露天停车场,一人一格
                                                    热门推荐更多>>
                                                    名人推荐
                                                    中国名人 世界名人 成功人士 企业家 科学家 军事家 运动员 文学家 明星 设计师 艺人 数学家 天文学家 哲学家 思想家
                                                    相关阅读更多>>
                                                    网站首页 | 电脑版
                                                    哪里有的玩飞艇微信群-移动版