一個大膽的猜想:如果GitHub的數據庫用的是OceanBase 頂 原

摘要: 今日,GitHub技術負責人Jason Warner的一篇技術深度解析稿成爲IT圈爆款。文中,Jason坦誠地對外講述了10月21日100G光纜設備故障後,Github服務降級的應急過程以及反思總結。

今日,GitHub技術負責人Jason Warner的一篇技術深度解析稿成爲IT圈爆款。文中,Jason坦誠地對外講述了10月21日100G光纜設備故障後,Github服務降級的應急過程以及反思總結。

從Jason Warner的文章中不難看出,造成斷網43秒癱瘓24小時的罪魁禍首是數據庫。由於部署在兩個數據中心的數據庫集羣沒有實時同步。意外發生時,Github的工程師擔心數據丟失,不敢快速將主數據庫安全切換到東海岸的備份數據中心。

程序員們在GitHub這篇“懺悔錄”下面留言,表達對數據庫集羣的“哀悼”。但更多IT從業者關心的問題是,如何避免這樣的災難事件降臨到自己的公司,自己維護的系統。

螞蟻金服OceanBase分佈式數據庫專家認爲,此次Github事件是典型的城市級故障。如果系統採用的是高可用的三地五中心解決方案,就可以自如應對。

就在一個月前,今年的杭州雲棲大會上,螞蟻金服副CTO胡喜現場模擬剪斷支付寶近一半的服務器光纜。只用了26秒,模擬環境中的支付寶就完全恢復了正常,這背後即是OceanBase城市級別故障的自愈能力。

原來,Github類似銀行採用的傳統數據庫兩地三中心模式,即“主庫(主機房)+同城熱備庫(同城熱備機房)+異地災備庫(異地災備機房)”。這種方式下通常只有主機房的服務器能提供寫服務。如果主城市出現城市級故障,災備城市的數據庫雖然可以工作,但由於沒有同步的最新數據,因此災備庫的數據是有損的。

但在三地五中心部署下,任何單個城市故障,OceanBase都不會停止服務,數據也不會有任何損失。

Github表示,爲了保證數據完整性,他們不得不犧牲恢復時間。其實,這個問題採用三地五中心方案可以更好的應對。城市故障時,OceanBase只要活着的兩個城市的三個機房兩兩之間能夠通信,就可以正常服務,也不會有任何的數據損失。

阿里雲雙十一1折拼團活動:已滿6人,都是最低折扣了

【滿6人】1核2G雲服務器99.5元一年298.5元三年 2核4G雲服務器545元一年 1227元三年

【滿6人】1核1G MySQL數據庫 119.5元一年

【滿6人】3000條國內短信包 60元每6月

參團地址:http://click.aliyun.com/m/1000020293/

原文鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章