4月8日下午,騰訊雲突然發生服務故障,表現為接口響應報錯、内部服務錯誤、網頁顯示504錯誤等。
504錯誤代表的是網關逾時(Gateway timeout),也就是伺服器作為網關或代理沒有及時從上遊伺服器收到請求。
當天傍晚,騰訊雲回複稱,官網控制台相關服務出現異常,正在緊急修複,部分地區已恢複,其他地區也正在繼續搶修中。
現在,騰訊雲官方公布了對此次故障的複盤及情況說明。
根據騰訊雲的說法,4月8日15點23分,騰訊雲團隊收到告警資訊,雲API服務處于異常狀态,随即在騰訊雲工單、售後服務群、微網誌等管道開始大量出現騰訊雲控制台登入不上的客戶回報。
經過故障定位發現,客戶登入不上控制台正是雲API異常所導緻。
雲API是雲上統一的開放接口集合,客戶可以通過API以程式設計方式管理和操控雲端資源,雲控制台通過組合雲API提供互動式的網頁功能。
故障發生後,依賴雲API提供産品能力的部分公有雲服務,也因為雲API的異常出現了無法使用的情況,比如雲函數、文字識别、微服務平台、音頻内容安全、驗證碼等。
此次故障一共持續了近87分鐘,期間共有1957個客戶報障。
從客戶的視角來看,雲服務大概可以分為資料面和控制面,其中資料面承載客戶自身的業務,控制面負責操作雲上不同産品。
此次發生故障的控制台和雲API,是對控制面的影響。
通俗來講,如果把雲服務類比為酒店,控制台相當于酒店的前台,一旦發生故障就會導緻入住、續住等管理能力不可用,但已入住的客房不受影響。
這次故障中,客戶已經配置好的伺服器等IaaS資源,包括已經部署運作的業務,沒有受到雲API異常的影響。其他以非雲API方式提供服務的PaaS、SaaS服務,也都正常服務。
4月8日當天騰訊雲全産品進出流量趨勢圖,可以看到不受影響
但是,使用API提供的服務類産品受到不同程度的影響,比如騰訊雲存儲服務調用當天有明顯下滑。
4月8日當天騰訊雲存儲服務調用資料趨勢圖,可以看到存儲服務調用有一個明顯的波動
本次故障處理過程如下:
15:23,監測到故障,立即執行服務的恢複,同時進行原因的排查;
15:47,發現通過復原版本沒能完全恢複服務,進一步定位問題;
15:57,定位出故障根因是配置資料出現錯誤,緊急設計資料修複方案;
16:02,對全地域進行資料修複工作,API服務逐地域恢複中;
16:05,觀測到除上海外的地域API服務均已恢複,進一步定位上海地域的恢複問題;
16:25,定位到上海的技術元件存在API循環依賴問題,決定通過流量排程至其他地域來恢複;
16:45,觀測到上海地域恢複了,此時API和依賴API的PaaS服務徹底恢複,但控制台流量劇增,按九倍容量進行了擴容;
16:50,請求量逐漸恢複到正常水準,業務穩定運作,控制台服務全部恢複;
17:45,持續觀察一小時,未發現問題,按預案處理過程完畢。
騰訊雲表示,故障的原因是雲API服務新版本向前相容性考慮不夠,以及配置資料灰階機制不足。
本次API更新過程中,由于新版本的接口協定發生了變化,在背景釋出新版本之後,對于舊版本前端傳來的資料處理邏輯異常,導緻生成了一條錯誤的配置資料,而灰階機制不足導緻異常資料快速擴散到了全網地域,造成整體API使用異常。
發生故障後,按照标準復原方案将服務背景和配置資料同時復原到舊版本,并重新開機API背景服務,但此時因為承載API服務的容器平台也依賴API服務才能提供排程能力,即發生了循環依賴,導緻服務無法自動拉起。
通過運維手工啟動方式才使API服務重新開機,完成整個故障恢複。
近年來,國内各家雲服務多次發生故障:
2024年4月9日支付寶崩潰,2023年12月3日騰訊視訊崩潰,2023年11月27日滴滴崩潰,2023年11月12日阿裡雲和阿裡系服務集體崩潰,2023年3月5日B站崩潰……