Facebookが2.5時間のダウンタイムを謝罪

Facebookソフトウェア開発ディレクターのロバートジョンソンは、今夜2.5時間Facebookをインターネットから切断する必要があることを正式に謝罪します。 しかし、他に選択肢はありませんでした。



Webインターフェースが使用できなかっただけでなく、APIが機能せず、インターネット上の350,000サイトで「 いいね」ボタンが無効になりました。 Facebookの崩壊は大したことです。 ジョンソンによると、これはその存在から4年半でFacebookの最大のダウンタイムです。



失敗の原因は、自動構成設定検証システムの誤った動作であり、その間、システムは良いことよりもはるかに害を及ぼし始めました。



このシステムの仕事は、キャッシュ内の誤った設定を検索し、それらをデータベース(永続ストア)からの新しい設定に置き換えることです。 問題は、自動システムが正しくないと認識したデータベースに変更が加えられるとすぐに、あらゆる場所で大規模な「バグ修正」が始まり、その結果、データベースクラスターが毎秒数十万件のクエリで過負荷になることです。



永続ストアの値を置き換えた後でも、キャッシュ内の「誤った」値を自動システムがすでに削除しているため、要求フローは停止しませんでした。 サーバーはすべてのリクエストの処理に対応できなかったため、すべての新しい「間違った」値がキャッシュに現れ、後続のリクエストを生成しました。 このプロセスはサイクルを経て進行しました。 「データベースを回復できないフィードバックループに入りました 」とRobert Johnson氏は言います。



リクエストの輪を断ち切るには、データベースクラスターへのすべてのトラフィックをブロックする、つまりFacebookをインターネットから完全に切断するという苦痛な手順に頼らなければなりませんでした。 サイトの代わりにユーザーに「DNSエラー」が表示されました。



データベースが復元され、障害の元の原因が取り除かれると、ユーザーは徐々に接続し始めました。



現在、設定をチェックするための自動システムは完全に無効になっています。 プログラマーは、ループの可能性を回避するために、新しい設計について熟考します。



All Articles