當(dāng)Dropbox在2008年面向大眾推出時(shí),使用此服務(wù)的用戶(hù)數(shù)量仿佛一夜之間從寥寥幾千,到上萬(wàn),接著是幾百萬(wàn)。
當(dāng)Dropbox在2008年面向大眾推出時(shí),使用此服務(wù)的用戶(hù)數(shù)量仿佛一夜之間從寥寥幾千,到上萬(wàn),接著是幾百萬(wàn)。
對(duì)于一家新成立的初創(chuàng)公司而言,的確是件美好的事。但是它也存在一些問(wèn)題,尤其是當(dāng)其思考如何擴(kuò)展基礎(chǔ)設(shè)施,以滿(mǎn)足日益增長(zhǎng)的用戶(hù)需求。
在這種情況下,Dropbox需要面對(duì)更多更困難的挑戰(zhàn),因?yàn)樗缪莸木褪且粋€(gè)提供實(shí)時(shí)存儲(chǔ)和同步解決方案的角色。Dropbox要獲得成功,用戶(hù)必須要信任他們所提供的服務(wù)是快速、可靠、并且安全的。
那么,Dropbox是如何設(shè)法擴(kuò)張的呢?Rajiv Eranki曾在2008年至2011年期間擔(dān)任Dropbox公司服務(wù)器工程部的主管,他是Dropbox公司招聘的第二名工程師,他的職責(zé)就是幫助擴(kuò)大產(chǎn)品規(guī)模。在Eranki任職期間,他見(jiàn)證了這家公司的用戶(hù)從2000人發(fā)展到4000萬(wàn)!
Eranki之前出席了RAMP大會(huì),并在他的博客上分享了自己的經(jīng)歷。
本文選取了一些關(guān)鍵要素:
選擇Python是個(gè)正確的決策
在RAMP大會(huì)上,Eranki在其演講中說(shuō)道,Dropbox團(tuán)隊(duì)使用的是Python進(jìn)行開(kāi)發(fā)工作。這非常有用,因?yàn)檫@意味著,整個(gè)平臺(tái)可以搭載4000萬(wàn)用戶(hù),而且不必編寫(xiě)數(shù)千行的C語(yǔ)言代碼。
這點(diǎn)Rian Hunter在2011年Python舉行的PyCon大會(huì)上就和Eranki不謀而合。PyCon是一個(gè)專(zhuān)注于Python編程語(yǔ)言的開(kāi)發(fā)者大會(huì),Hunter曾在該大會(huì)上發(fā)表過(guò)題為“Python如何幫助Dropbox獲得成功”的演講。
Python的優(yōu)勢(shì)在于,和其他編程語(yǔ)言相比,它可以幫助開(kāi)發(fā)團(tuán)隊(duì)快速擴(kuò)大規(guī)模。
在Dropbox成立之初,僅有的這兩位創(chuàng)始工程師專(zhuān)注在規(guī)模擴(kuò)展方向,而且Dropbox發(fā)展的如此迅速,還得益于他們減少了應(yīng)用程序的復(fù)雜度。
Dropbox也使用過(guò)一些當(dāng)時(shí)較為流行的軟件工具,包括MySQL和亞馬遜的簡(jiǎn)易存儲(chǔ)服務(wù)S3和云技術(shù)服務(wù)EC2。至少在企業(yè)發(fā)展初期的時(shí)候,Dropbox的開(kāi)發(fā)團(tuán)隊(duì)確實(shí)也沒(méi)有使用一些規(guī)模最大或最活躍的用戶(hù)技術(shù)。
測(cè)試潛在失敗點(diǎn)
Ernaki在他的演講中反復(fù)強(qiáng)調(diào)的一點(diǎn)就是,導(dǎo)致系統(tǒng)失敗的問(wèn)題是可測(cè)試出來(lái)的。Ernaki說(shuō),開(kāi)發(fā)團(tuán)隊(duì)往往會(huì)選擇重啟服務(wù)器去看看哪里會(huì)有問(wèn)題。可是,故障會(huì)比戰(zhàn)略運(yùn)營(yíng)更重要?流程也會(huì)自動(dòng)重啟嗎?
搞清楚哪些事情引起失敗,同時(shí)在系統(tǒng)正常的時(shí)候就進(jìn)行測(cè)試,這樣,就能實(shí)際可控那些失敗。
Ernaki寫(xiě)道,"這就像是現(xiàn)場(chǎng)直播消防演習(xí),似乎聽(tīng)起來(lái)有些蠢,但測(cè)試環(huán)境往往不夠充分,進(jìn)行生產(chǎn)測(cè)試則非常必要,也很保險(xiǎn)。"
保持硬件持續(xù)性
由于Dropbox用戶(hù)數(shù)量增加,意味著需要購(gòu)買(mǎi)新的硬件。Dropbox沒(méi)有選擇一堆不一樣的服務(wù)器配置和硬件類(lèi)型,他們選擇設(shè)備機(jī)器類(lèi)型范圍很小,但是這些機(jī)器的配置都是一致的。
此外,當(dāng)問(wèn)題涉及到某一具體的硬件,由于選擇設(shè)備范圍不大,Dropbox有限的“容量規(guī)劃”總量也有助于保持其硬件的持續(xù)性。
使用世界統(tǒng)一時(shí)間(UTC)
服務(wù)器使用UTC時(shí)間代碼解決了Dropbox的一個(gè)潛在問(wèn)題,那就是往往在某一時(shí)區(qū)里,會(huì)有一臺(tái)服務(wù)器或一個(gè)系統(tǒng);而在另一時(shí)區(qū)里面也有別的服務(wù)器或系統(tǒng)。在瀏覽器或文件管理器里,Dropbox盡可能不去轉(zhuǎn)換用戶(hù)時(shí)區(qū)的時(shí)間。
Dropbox甚至把他們掛在墻上的時(shí)鐘也設(shè)置成世界統(tǒng)一時(shí)間,每個(gè)人的時(shí)間都和他們的服務(wù)器保持一致。
這可能聽(tīng)起來(lái)有些傻,但是當(dāng)你大部分業(yè)務(wù)依賴(lài)于可靠的文件同步時(shí), 一個(gè)時(shí)區(qū)的變化可能會(huì)導(dǎo)致文件同步錯(cuò)誤。
經(jīng)常更新
無(wú)論過(guò)去還是現(xiàn)在,Dropbox成功的秘訣之一,就是經(jīng)常發(fā)布更新。在Dropbox創(chuàng)立初期,他們經(jīng)常在完成編碼的同一天就發(fā)布更新。這意味著用戶(hù)立即可以使用最新版本的Dropbox而且還可以幫助進(jìn)行一些改進(jìn)工作。
即使在今天,Dropbox仍然對(duì)其Mac,Windows以及Linux客戶(hù)端開(kāi)發(fā)更新測(cè)試渠道。這些更新往往是一個(gè)新功能,在Dropbox向用戶(hù)正式發(fā)布之前,用戶(hù)可以進(jìn)行測(cè)試一些新東西,并幫助Dropbox糾正一些Bug。
不過(guò),Dropbox也非常清楚,其客戶(hù)端必須要依靠穩(wěn)定的代碼??傊瑢?duì)于一個(gè)提供存儲(chǔ)和同步服務(wù)的公司,有兩件事是不能容忍的,一是文件目錄損壞,二是存儲(chǔ)的工作丟失。
對(duì)于Dropbox用戶(hù)增長(zhǎng),您有什么看法,可以在以下評(píng)論欄里留言。
河南億恩科技股份有限公司(xuefeilisp.com)始創(chuàng)于2000年,專(zhuān)注服務(wù)器托管租用,是國(guó)家工信部認(rèn)定的綜合電信服務(wù)運(yùn)營(yíng)商。億恩為近五十萬(wàn)的用戶(hù)提供服務(wù)器托管、服務(wù)器租用、機(jī)柜租用、云服務(wù)器、網(wǎng)站建設(shè)、網(wǎng)站托管等網(wǎng)絡(luò)基礎(chǔ)服務(wù),另有網(wǎng)總管、名片俠網(wǎng)絡(luò)推廣服務(wù),使得客戶(hù)不斷的獲得更大的收益。
服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話(huà):
0371-60135900
虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話(huà):
0371-55621053
網(wǎng)絡(luò)版權(quán)侵權(quán)舉報(bào)電話(huà):
0371-60135995
服務(wù)熱線(xiàn):
0371-60135900