在過去的幾周裡,GitHub 經歷了多次宕機事件,導致平臺的服務降級,影響了許多使用者的正常使用。GitHub 團隊在解決問題的同時,近日也了這些事件的詳細情況。
據介紹,近期 GitHub 頻繁宕機主要是其mysql1
叢集的資源爭奪導致,這影響了 GitHub 在負載高峰期的大量服務和功能效能。雖然在過去幾年 GitHub 已經進行了許多優化,例如增加叢集以支援平臺的增長、對主資料庫進行分割區等,但這不是一勞永逸的工作,直到現在他們仍在積極解決這個問題。
近期宕機事件的時間線:
- 3 月 16 日 14:09 UTC(持續 5 小時 36 分鐘)
- 3 月 17 日 13:46 UTC(持續 2 小時 28 分鐘)
- 3 月 22 日 15:53 UTC(持續 2 小時 53 分鐘)
- 3 月 23 日 14:49 UTC(持續 2 小時 51 分鐘)
為了防止將來發生此類事件,GitHub 已開始在高峰時段對該特定資料庫的負載模式進行審計,並根據這些審計進行一系列效能修復。作為其中的一部分,他們正在將流量轉移到其他資料庫,以減少負載和加快故障轉移時間,並審查我們的變更管理程式,特別是與生產環境中高負載期間相關的監控和變更。
隨著平臺的不斷髮展,他們會一直積極擴充套件基礎設施,包括對資料庫進行分片和擴充套件硬體。