Skype CIO談Skype服務(wù)故障背后的原因 |
發(fā)布時間: 2012/9/18 15:52:07 |
在1600 GMT時間12月22日,Skype服務(wù)開始無法訪問,一開始是一小部分用戶無法訪問,后來受影響的用戶越來越多,最后網(wǎng)絡(luò)在24小時內(nèi)干脆就無法訪問了。一周后,Skype CIO Lars Rabbe談到了這背后的原因。
Skype的核心依賴于第三代的P2P網(wǎng)絡(luò),它擁有大量的對等節(jié)點和超級節(jié)點,一個超級節(jié)點對應(yīng)于成百上千個節(jié)點。由于Skype并沒有中央目錄來支持彼此通信的兩個或多個節(jié)點之間的路由,因此虛擬網(wǎng)絡(luò)將超級節(jié)點作為目錄。當(dāng)某個客戶端連接到Skype后,它會將自身注冊到一個超級節(jié)點上,超級節(jié)點會為該客戶端分配一個IP地址,這樣想要與其建立連接的其他客戶端就能找到它了。當(dāng)某個用戶想要啟動IM或是向另一個客戶端發(fā)起音頻/視頻會話后就會詢問超級節(jié)點,然后就會獲得目標(biāo)IP,這樣就會建立起這兩個客戶端之間直接的通信鏈接。超級節(jié)點是Skype網(wǎng)絡(luò)的重要元素。 Skype還運行著大量的支撐服務(wù)器,他們負(fù)責(zé)發(fā)送離線消息。由于突然有大量未發(fā)送的消息,因此這些服務(wù)器會延遲發(fā)送這些消息。Window版本的Skype v5.0.0.152有一個Bug,它會導(dǎo)致應(yīng)用在接收這些延遲發(fā)送的消息時崩潰。最新的Skype v5.0.0.156和Windows下的其他版本以及非Windows系統(tǒng)的所有其他版本則不受該Bug影響,但問題在于有50%的用戶在使用這個有Bug的版本,而它正是Skype 5的首個發(fā)布版。大約40%的Skype用戶都是在線崩潰的,這影響到30%左右的超級節(jié)點。 客戶端還需要繼續(xù)運行,重啟應(yīng)用的客戶端會導(dǎo)致網(wǎng)絡(luò)繼續(xù)搜索仍舊運行著的超級節(jié)點,這導(dǎo)致了超級節(jié)點的過載。由于Skype在超級節(jié)點過載時會啟動保護(hù)措施,因此這并不會消耗客戶端系統(tǒng)過多的資源,超級節(jié)點會一個接一個地自動關(guān)閉,這會導(dǎo)致整個網(wǎng)絡(luò)出現(xiàn)故障。 沒有超級節(jié)點,Skype就將無法運作,因此公司一開始啟動了上百個,然后是上千個超級節(jié)點,希望能夠恢復(fù)服務(wù)。他們并沒有指明使用了哪些系統(tǒng),或許是他們自己的,也可能是Amazon EC2上的。網(wǎng)絡(luò)開始基于這些超級節(jié)點來構(gòu)建自身,服務(wù)在24小時后恢復(fù)了。他們說停止了大多數(shù)超級節(jié)點,留下了一些來處理各種突發(fā)狀況,因為圣誕節(jié)Skype的使用量會很大。 我們從中學(xué)到的經(jīng)驗則是:除非必要,很多用戶并不會更新自己的軟件。Skype已經(jīng)有更新的版本了,但如果沒有遇到Bug,大多數(shù)用戶是不會更新的。Skype打算重新檢查自動更新過程,或許像Google Chrome那樣做: 我們會重新檢查向用戶提供的“自動”更新過程,這樣我們就能讓每個人都使用最新版的Skype了。我們相信這些舉措會降低這類故障發(fā)生的概率。 另一個問題是我們應(yīng)該盡最大努力來保證軟件是經(jīng)過充分測試過的,Skype決定重新檢查“測試過程來確定更好的檢測手段以避免會影響到系統(tǒng)的Bug出現(xiàn)”。 最后要說的就是Skype服務(wù)器支撐網(wǎng)絡(luò)的能力,比如用于處理離線IM的服務(wù)器,Rabbe說他們“會經(jīng)常性地檢查支持Skype用戶的核心系統(tǒng)的能力,并繼續(xù)在這些系統(tǒng)的能力和彈性上投入”。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |