Claspin在工作,綠色的說明是正常的
緩存是Facebook的基礎(chǔ)架構(gòu)中最重要的功能之一,因?yàn)樗4媪俗罱咏黈eb服務(wù)器的存儲(chǔ)數(shù)據(jù),這也是為了向用戶盡可能快地提供內(nèi)容。因此,Cache是一個(gè)真正的關(guān)鍵點(diǎn),它能讓用戶體驗(yàn)變的更好。但是Lynch表示,社交網(wǎng)絡(luò)目前還沒有辦法的查找到出現(xiàn)故障的Cache服務(wù)器。
Facebook有兩個(gè)主要的緩存系統(tǒng):Memcache,這是一個(gè)簡(jiǎn)單的后備高速緩存,它的智慧主要體現(xiàn)在客戶端;TAO,它是一個(gè)圖像緩存數(shù)據(jù)庫,使 用的是MySQL。不過這兩個(gè)系統(tǒng)之間,我們有成千上萬張圖表,其中一些被收集到顯示面板上,來顯示不同的延遲、請(qǐng)求速率和來自客戶端和服務(wù)器收集的誤碼率統(tǒng)計(jì)數(shù)據(jù)。這些圖表和顯示面板的大部分都來自Facebook“數(shù)據(jù)存儲(chǔ)操作”或者ODS的支持。這個(gè)工作是排在第一位的,但是隨著Facebook在規(guī)模上的不斷成長(zhǎng),一旦出現(xiàn)了錯(cuò)誤,想找出哪一塊出現(xiàn)了問題就變得越來越難。所以,我開始思考編碼“tribal knowledge”,我們使用故障排除的方式,讓人們更容易的評(píng)估出緩存的狀態(tài),可以一目了然。
Lynch開發(fā)的算法可以對(duì)Cache“健康”的最重要指標(biāo)進(jìn)行排名,進(jìn)過團(tuán)隊(duì)的討論,最后決定使用熱圖,它可以捕捉1萬臺(tái)服務(wù)器的運(yùn)行情況,并且能在一塊屏幕上顯示數(shù)據(jù)改變的結(jié)果。顏色變化是30個(gè)或更多的統(tǒng)計(jì)數(shù)據(jù)在后臺(tái)進(jìn)行實(shí)時(shí)計(jì)算的結(jié)果。他稱這套工具為Claspin,現(xiàn)在在Facebook內(nèi)部廣為傳播,可以說這是在以工程為主導(dǎo)的公司成功的標(biāo)志之一。
Facebook此次奉獻(xiàn)出一個(gè)很好的工具,不禁讓人想起了戴爾曾經(jīng)為了提高工廠生產(chǎn)率的那份狂熱的努力,從桌子的高度的設(shè)計(jì)到任何一個(gè)小配件安裝的細(xì)節(jié),所有的一切都考慮在內(nèi)。Facebook也在做著類似的事情,F(xiàn)acebook開發(fā)的這套工具有助于確保它在任何時(shí)候都能對(duì)網(wǎng)絡(luò)還有網(wǎng)絡(luò)帶來的廣告收入進(jìn)行優(yōu)化。Facebook也在開發(fā)自己的Six Sigma或Kaizen。(