美國騎士資本 - CI / CD 的重要性

更新於 發佈於 閱讀時間約 5 分鐘

Source: Podcast 矽谷輕鬆談 EP123 45分鐘搞垮美國最大股票

故事背景:

  • 騎士資本集團(英語:Knight Capital Group),俗稱騎士資本,是一家美國金融服務公司,主要業務包括做市、電子交易執行、機構銷售等。

更新功能

  • 系統 SMARS是接收Knight交易平臺其他組件的訂單(父訂單),然後發送一個或多個子訂單執行。換言之,SMARS將從交易平臺收到大量訂單,並將它們分成多個較小的訂單,以便找到股票數量相匹配的買家或者賣家。父訂單越大,生成的子訂單越多。
  • 在SMARS中,有一段老舊的代碼,名為「Power Peg」,它已經8年沒被用到過了,而此次更新的目的正是要換掉這段代碼。更新的代碼重新調整了用於激活Power Peg功能的舊標誌的功能。
  • Power Peg代碼用於在執行子訂單時,根據父訂單計算購買或者出售的股份。Power Peg將指示系統在完成父訂單後停止傳送子訂單。也就是說,Power Peg會跟蹤子訂單,並在父訂單完成後停止它們。

CI/CD

  • 2012年7月27日至2012年7月31日期間,Knight的開發人員每天手動將新的軟體部署到公司的8臺伺服器上。 然而,在新代碼的部署過程中,Knight的一名技術人員忘記將新代碼複製到所有8臺SMARS計算機伺服器中——他漏掉了其中一臺伺服器。

上線後發生

  • 到2012年08月1日上午9點32分,華爾街的人們都在想,為什麼訂單還沒有停下來,為什麼沒有人按下任何系統的關閉開關?結果他們發現,並沒有關閉開關。在交易的前45分鐘裡,Knight的交易量佔了總交易量的50%以上,這使得某些股票的市值上漲了10%以上。因此,其他股票因錯誤的交易而貶值。
  • 在上午8:01到9:30之間,Knight工作人員也收到了97封郵件。可惜的是,這些電子郵件不是作為系統警報設計的,因此沒有人立即查看它們。
  • 在Knight經歷的45分鐘內,他們嘗試了幾種反制措施,試圖阻止錯誤的交易。由於沒有終止開關,所以他們只能在實時交易環境中嘗試診斷問題。
  • 每分鐘,系統上約有800萬股股票被交易。他們無法確定是什麼導致了錯誤的命令,所以他們從正確部署的伺服器上卸載了新代碼。換句話說,他們刪除了工作代碼,留下了損壞的代碼。
  • 這更加放大了問題。最開始,僅在部署不正確的伺服器上,額外的父命令激活了Power Peg代碼。現在,問題蔓延到了所有伺服器上。
  • 最後,他們終於停止了系統,但此時已經進行了45分鐘的交易。

企業損失

  • 在開盤前45分鐘,市場收到並處理 212份父訂單。因此,SMARS向市場發送了數以百萬計的子訂單,產生了400萬筆交易,而其中154 只股票的交易量超過了3.97億股。
  • 這意味著,Knight資本集團在45分鐘內造成了4.6億美元的虧損。然而,Knight只有3.65億美元的資產。
  • 45分鐘後,美國股市最大的交易商、紐約證交所和納斯達克的主要做市商Knight破產,4個月後被Getco LLC收購。

所犯的軟體工程錯誤 - CI/CD

  • 程式: 接訂單, 拆訂單, 追蹤訂單
    想像一下,如果你有一個系統,它能夠向市場發送自動化、高速訂單,且沒有任何跟蹤程序來檢查是否執行了足夠的訂單,會發生什麼?沒有比這更糟糕的事了
  • 人工部署, 不是由程式自動部署 到 多個 Server
  • 沒有人去檢查 部署後程式, 是為最新的程式
  • 十年前的 拆單程式沒有用, 郤沒有刪掉
  • 用舊 Feature Flag , 而不是用新的 Flag , 導致新程式郤用 舊 Feature Flag, 導致新程式沒有更新, 反而用到 舊 Feature Flag 而導致出錯
  • Monitor 沒做好, 導致事情發生時, 無法立即找出問題

建議Solution

  • Rollback : 1 - 8 台 Server 所有的程式
  • 關掉新的 Feature Flag
  • 重大 Issue - 用 A/B Test for 1% User 測試
  • 發送自動化、高速訂單, 也要設計跟蹤程序來檢查訂單的合理性. 異常處理機制

Phoenix 心得

  • CI/CD 自動部署的重要性
  • 程式上版的 Review 機制上線後 Monitor 和 Rollback 機制


以上就是我的分享. 若對你有幫助, 請在下面 按讚、留言. 或 愛心符號. 你的肯定, 是我撰寫的動力.

Phoenix 鳳哥

留言
avatar-img
留言分享你的想法!
avatar-img
Phoenix 鳳哥的沙龍
6會員
7內容數
你沒學過 Tableau, 想要學? 曾學過一二天的訓練課程, 會些基本的功能? 用運工作上時, 又覺得卡卡的? 歡迎你來到 鳳哥 Tableau 基本功專欄. 與你分享 Tableau 學習之旅.
你可能也想看
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
「鎖碼炒作」要同時符合鎖碼及炒作雙重定義,鎖碼是充分鎖定流動籌碼,炒作需要條件文中解釋,不一定小型股: ■外資的資金實力,即使上百億股本也有能力鎖碼 □大多頭市場長達八年,公司派及主力掌控能力增加 ●最大「鎖碼炒作」就是「千金股」沒有一檔例外 ○政府放任「鎖碼炒作」及「投資群組」惡性炒作且從不查辦
Thumbnail
「鎖碼炒作」要同時符合鎖碼及炒作雙重定義,鎖碼是充分鎖定流動籌碼,炒作需要條件文中解釋,不一定小型股: ■外資的資金實力,即使上百億股本也有能力鎖碼 □大多頭市場長達八年,公司派及主力掌控能力增加 ●最大「鎖碼炒作」就是「千金股」沒有一檔例外 ○政府放任「鎖碼炒作」及「投資群組」惡性炒作且從不查辦
Thumbnail
交易有感 賺錢在交易市場上是一件困難的事情,因為需要一套交易系統來支持你的交易。而學習交易也是會產生成本的,例如學習費用。在臺灣學習交易系統特別昂貴。很多人購買了交易系統卻不知道它是否真的有效,這是因為很多老師並沒有公開他們的交易紀錄。確認一套交易方法是否真的能賺錢,以及確認這個方法是否適合自己,是
Thumbnail
交易有感 賺錢在交易市場上是一件困難的事情,因為需要一套交易系統來支持你的交易。而學習交易也是會產生成本的,例如學習費用。在臺灣學習交易系統特別昂貴。很多人購買了交易系統卻不知道它是否真的有效,這是因為很多老師並沒有公開他們的交易紀錄。確認一套交易方法是否真的能賺錢,以及確認這個方法是否適合自己,是
Thumbnail
昨日盤前日報中有提到,這邊大盤看美股回檔,加密貨幣風險,那台股這邊要不要當落後指標一起回一下❓是今天開盤前觀察重點 然而,為什麼不站空方,因為這是反彈波中的拉回,還沒有趨勢反轉的訊號。
Thumbnail
昨日盤前日報中有提到,這邊大盤看美股回檔,加密貨幣風險,那台股這邊要不要當落後指標一起回一下❓是今天開盤前觀察重點 然而,為什麼不站空方,因為這是反彈波中的拉回,還沒有趨勢反轉的訊號。
Thumbnail
每日前言: 當沖是一條刺激緊張的路。 他可以是一個手遊,每天輸錢就像是剋金; 也可以是一場鬥智的博弈運動,像是德州撲克; 也可以是一個投票機,是一個選美比賽,你能理解別人的想法或是能抓到後面那一隻承接的老鼠,你就能獲利。 ─── 🖤然而當沖也可以毀了一個人,可以奪去你的身心靈健康,全因心態問題。
Thumbnail
每日前言: 當沖是一條刺激緊張的路。 他可以是一個手遊,每天輸錢就像是剋金; 也可以是一場鬥智的博弈運動,像是德州撲克; 也可以是一個投票機,是一個選美比賽,你能理解別人的想法或是能抓到後面那一隻承接的老鼠,你就能獲利。 ─── 🖤然而當沖也可以毀了一個人,可以奪去你的身心靈健康,全因心態問題。
Thumbnail
在Knight經歷的45分鐘內,他們嘗試了幾種反制措施,試圖阻止錯誤的交易。由於沒有終止開關,所以他們只能在實時交易環境中嘗試診斷問題。 Knight資本集團在45分鐘內造成了4.6億美元的虧損。然而,Knight只有3.65億美元的資產。最後Knight破產,4個月後被Getco LLC收購。
Thumbnail
在Knight經歷的45分鐘內,他們嘗試了幾種反制措施,試圖阻止錯誤的交易。由於沒有終止開關,所以他們只能在實時交易環境中嘗試診斷問題。 Knight資本集團在45分鐘內造成了4.6億美元的虧損。然而,Knight只有3.65億美元的資產。最後Knight破產,4個月後被Getco LLC收購。
Thumbnail
每日前言: 當沖是一條刺激緊張的路。 他可以是一個手遊,每天輸錢就像是剋金; 也可以是一場鬥智的博弈運動,像是德州撲克; 也可以是一個投票機,是一個選美比賽,你能理解別人的想法或是能抓到後面那一隻承接的老鼠,你就能獲利。 ─── 🖤然而當沖也可以毀了一個人,可以奪去你的身心靈健康,全因心態問題。
Thumbnail
每日前言: 當沖是一條刺激緊張的路。 他可以是一個手遊,每天輸錢就像是剋金; 也可以是一場鬥智的博弈運動,像是德州撲克; 也可以是一個投票機,是一個選美比賽,你能理解別人的想法或是能抓到後面那一隻承接的老鼠,你就能獲利。 ─── 🖤然而當沖也可以毀了一個人,可以奪去你的身心靈健康,全因心態問題。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News