幾年前,F(xiàn)acebook關(guān)閉了一個(gè)數(shù)據(jù)中心,以測(cè)試其應(yīng)用的靈活性。該公司工程主管杰瑞·帕瑞科斯表示這個(gè)測(cè)試順利。該數(shù)據(jù)中心的關(guān)閉測(cè)試沒有干擾客戶對(duì)Facebook網(wǎng)站的訪問。
Facebook和其它網(wǎng)絡(luò)規(guī)模的數(shù)據(jù)中心運(yùn)營(yíng)商投資數(shù)億美元甚至數(shù)十億美元建立全球性的互聯(lián)網(wǎng)服務(wù),將重點(diǎn)轉(zhuǎn)向數(shù)據(jù)中心的彈性冗余和自動(dòng)化的基礎(chǔ)設(shè)施–電源和冷卻系統(tǒng)–軟件驅(qū)動(dòng)的故障。一個(gè)由許多服務(wù)器組成的全球分布式系統(tǒng),可以很容易地失去某些服務(wù)器,而不會(huì)對(duì)應(yīng)用程序的性能有任何重大的影響。
這并不是說數(shù)據(jù)中心運(yùn)營(yíng)商已經(jīng)放棄了備份發(fā)電機(jī),UPS系統(tǒng),自動(dòng)轉(zhuǎn)換開關(guān)。人們?nèi)匀豢梢栽贔acebook數(shù)據(jù)中心可以看到所有這些東西,只是這些設(shè)施不再是最后單一的防線。
如今,F(xiàn)acebook公司開放一些軟件工具的源碼,其內(nèi)置的軟件工具可以幫助工程師在幾秒鐘內(nèi)檢測(cè)到電力中斷的位置,并迅速隔離故障,避免更大范圍的問題。
該工具是一個(gè)名為NetNORAD系統(tǒng),可以不斷監(jiān)控整個(gè)Facebook的數(shù)據(jù)中心基礎(chǔ)設(shè)施的數(shù)據(jù)包丟失率和延遲。并使用數(shù)據(jù)分析,可以檢測(cè)到異常模式和觸發(fā)警報(bào),通常發(fā)生在30秒內(nèi)的故障。
“我們的規(guī)模意味著設(shè)備故障每天都有可能發(fā)生而且確實(shí)在發(fā)生,我們努力阻止那些必然事件對(duì)任何使用我們的服務(wù)的客戶的影響。”Facebook公司網(wǎng)絡(luò)工程師彼得·切赫拉普科霍爾在一篇博客文章中寫道。“最終的目標(biāo)是檢測(cè)網(wǎng)絡(luò)中斷,并在幾秒鐘內(nèi)自動(dòng)地減少網(wǎng)絡(luò)干擾。相反,采用人工調(diào)查可能需要以分鐘計(jì)算,甚至是小時(shí)。”
Facebook公司的NetNORAD組件是開源的響應(yīng)者,系統(tǒng)采用一組服務(wù)器不斷監(jiān)測(cè)Facebook公司數(shù)據(jù)中心的所有服務(wù)器,基于他們接收響應(yīng)數(shù)據(jù)包丟失和延遲的數(shù)據(jù),并采用自動(dòng)確定故障確切位置的工具fbtracert。