個人網(wǎng)站
2003年4月7日,馬云,在杭州,成立了一個神秘的組織。他叫來十位員工,要他們簽了一份協(xié)議,這份協(xié)議要求他們立刻離開阿里巴巴,去做一個神秘的項目。這個項目要求絕對保密,老馬戲稱“連說夢話被老婆聽到都不行,誰要是透漏出去,我將追殺到天涯海角”。這份協(xié)議是英文版的,匆忙之間,大多數(shù)人根本來不及看懂,但出于對老馬的信任,都卷起鋪蓋離開了阿里巴巴。
他們?nèi)チ艘粋€神秘的據(jù)點——湖畔花園小區(qū)的一套未裝修的房子里,房子的主人是馬云。這伙人剛進去的時候,馬云給他們布置了一個任務(wù),就是在最短的時間內(nèi)做出一個個人對個人(C2C)的商品交易的網(wǎng)站?,F(xiàn)在出一個問題考考讀者,看你適不適合做淘寶的創(chuàng)業(yè)團隊。親,要是讓你來做,你怎么做?
在說出這個答案之前,容我先賣個關(guān)子,介紹一下這個創(chuàng)業(yè)團隊的成員:三個開發(fā)工程師(虛竹、三豐、多?。?、一個UED(二當家)、三個運營(小寶、阿珂、破天)、一個經(jīng)理(財神)、還有就是馬云和他的秘書。當時對整個項目組來說壓力最大的就是時間,怎么在最短的時間內(nèi)把一個從來就沒有的網(wǎng)站從零開始建立起來?了解淘寶歷史的人知道淘寶是在2003年5月10日上線的,這之間只有一個月。要是你在這個團隊里,你怎么做?我們的答案就是:買一個來。
買一個網(wǎng)站顯然比做一個網(wǎng)站要省事一些,但是他們的夢想可不是做一個小網(wǎng)站而已,要做大,就不是隨便買個就行的,要有比較低的維護成本,要能夠方便的擴展和二次開發(fā)。那接下來就是第二個問題:買一個什么樣的網(wǎng)站?答案是:輕量一點的,簡單一點的,于是買了這樣一個架構(gòu)的網(wǎng)站:LAMP(linux+apache+mySQL+PHP)。這個直到現(xiàn)在還是一個很常用的網(wǎng)站架構(gòu)模型。這種架構(gòu)的優(yōu)點是:無需編譯,發(fā)布快速,PHP功能強大,能做從頁面渲染到數(shù)據(jù)訪問所有的事情,而且用到的技術(shù)都是開源的,免費。
當時我們是從一個美國人那里買來的一個網(wǎng)站系統(tǒng),這個系統(tǒng)的名字叫做PHPAuction(他們的官方網(wǎng)站 http://www.phpauction.net 這個名字很直白,一眼就看出來這個系統(tǒng)是用什么語言做的、是干什么用的),PHPAuction有好幾個版本,我們買的是最高版的,功能比較多,而且最重要的是對方提供了源代碼。最高版比較貴,花了我們2000美金(貌似現(xiàn)在降價了,只要946美元)。買來之后不是直接就能用的,需要很多本地化的修改,例如頁面模板改的漂亮一點,頁頭頁腳加上自己的站點簡介等,其中最有技術(shù)含量的是對數(shù)據(jù)庫進行了一個修改。原來是從一個數(shù)據(jù)庫進行所有的讀寫操作,拿過來之后多隆把它給拆分成一個主庫、兩個從庫,讀寫分離。這么做的好處有幾點:存儲容量增加了,有了備份,使得安全性增加了,讀寫分離使得讀寫效率提升了。這樣整個系統(tǒng)的架構(gòu)就如下圖所示:
其中pear DB是一個PHP模塊,負責數(shù)據(jù)訪問層。另外也用開源的論壇系統(tǒng)PHPBB( http://www.phpbbchina.com )搭建了一個小的論壇社區(qū),虛竹負責機器采購、配置、架設(shè)等,三豐和多隆負責編碼,他們把交易系統(tǒng)和論壇系統(tǒng)的用戶信息打通,給運營人員開發(fā)出后臺管理(admin系統(tǒng))的功能,把交易類型從只有拍賣這一種增加為拍賣、一口價、求購商品、海報商品(意思是還沒推出的商品,先掛個海報出來)這四種。(PHPAuction只有拍賣的交易,Auction即拍賣的意思。@_行癲在微博中提到:今天eBay所有交易中拍賣交易仍然占了40%,而在中國,此種模式在淘寶幾乎從一開始就未能占據(jù)優(yōu)勢,如今在主流的交易中幾乎可以忽略不計。背后的原因一直令人費解。我大致可以給出其中一種解釋,eBay基本在發(fā)達國家展開業(yè)務(wù),制造業(yè)外包后,電子商務(wù)的基本群體大多只能表現(xiàn)為零散的個體間交易。)
在經(jīng)歷了另外一些有趣的事情之后(這些有趣的事情包括“淘寶”這個名字的由來,員工花名的由來等等,由于本書主要描述技術(shù)方面的故事,對這些有興趣的可以去網(wǎng)上找),網(wǎng)站開始上線運行了。
在接下來的大半年時間里,這個網(wǎng)站迅速顯示出了它的生機。這里有必要提一下當時的市場環(huán)境,非典(SARS)的肆虐使得大家都不敢出門,尤其是去商場之類人多的地方。另外在神州大地上最早出現(xiàn)的C2C網(wǎng)站易趣也正忙的不亦樂乎,2002年3月,eBay以3000萬美元收購了易趣公司33%的股份,2003年6月以1.5億美元收購了易趣公司剩余67%的股份。當時淘寶網(wǎng)允許買賣雙方留下聯(lián)系方式,允許同城交易,整個操作過程簡單輕松。而eBay為了收取交易傭金,是禁止這么做的,這必然增加了交易過程的難度。而且eBay為了全球統(tǒng)一,把易趣原來的系統(tǒng)替換成了美國eBay的系統(tǒng),用戶體驗一下子全變了,操作起來非常麻煩,這等于是把積累的用戶拱手送給了淘寶。為了不引起eBay的注意,淘寶網(wǎng)在2003年里一直聲稱自己是一個“個人網(wǎng)站”。由于這個創(chuàng)業(yè)團隊強大的市場開拓和運營能力,淘寶網(wǎng)發(fā)展的非常迅猛,2003年底就吸引了注冊用戶XXX,最高每日31萬PV,從5月到年底成交額4000萬。這沒有引起eBay的注意,卻引起了阿里巴巴內(nèi)部很多員工的注意,他們覺得這個網(wǎng)站以后會成為阿里巴巴強勁的對手。甚至有人在內(nèi)網(wǎng)發(fā)帖,忠告管理層要警惕這個剛剛起步的網(wǎng)站,但管理層似乎無動于衷。(這個團隊的保密工作做的真好)
在市場和運營的后方,淘寶網(wǎng)的技術(shù)團隊也在快速的做著系統(tǒng)的改進和創(chuàng)新。這里還有個有趣的故事,eBay和易趣早期都有員工在論壇上響應(yīng)用戶的需求,eBay的論壇用粉紅色背景來區(qū)分員工的發(fā)言,易趣的員工在論壇上昵稱都選各種豆豆,例如黃豆豆、蠶豆豆等。淘寶在討論運營策略的時候提到這個問題,要求所有的員工都去論壇上回答用戶的問題。最早回答問題的任務(wù)落在小寶頭上,那我們用什么名字好呢?“淘淘”?“寶寶”?小寶都不滿意,太女性化了。討論了很久之后,小寶靈光乍現(xiàn),干脆取個名字叫“小寶”吧,小寶帶七個老婆來開店,迎接各位客官,很有故事性。于是很多武俠小說中的人物開始在論壇中行俠仗義,這些昵稱下面標志著“淘寶店小二”,他們回答著各種各樣的問題,快速響應(yīng)著用戶的各種需求。如果是技術(shù)上能解決的,幾個人商量一下,馬上就開發(fā)、測試、發(fā)布上線。反過來對比一下,易趣被eBay收購之后,系統(tǒng)更換成了全球通用的版本,響應(yīng)用戶的一個需求需要層層審批,反應(yīng)速度自然慢了下來。
當時淘寶第一個版本的系統(tǒng)里面已經(jīng)包含了商品發(fā)布、管理、搜索、商品詳情、出價購買、評價投訴、我的淘寶這些功能(現(xiàn)在主流程中也是這些模塊。在2003年10月增加了一個功能節(jié)點:“安全交易”,這個是支付寶的雛形)。隨著用戶需求和流量的不斷增長,系統(tǒng)上面做了很多的日常改進,服務(wù)器由最初的一臺變成了三臺,一臺負責發(fā)送email、一臺負責運行數(shù)據(jù)庫、一臺負責運行webApp。過一段時間之后,商品搜索的功能占用數(shù)據(jù)庫資源太大了(用like搜索的,很慢),又從阿里巴巴中文站搬過來他們的搜索引擎iSearch,起初iSearch索引的文件放在硬盤上,隨著數(shù)據(jù)量的增長,又采購了NetApp服務(wù)器放置iSearch。
如此快節(jié)奏的工作,其實大家都累得不行,有人就提議大家隨時隨地的鍛煉身體,可是外面SARS橫行,在一個一百多方的房子里,怎么鍛煉呢?高挑美女阿珂提議大家練習提臀操,這個建議遭到男士的一致反對,后來虛竹就教大家練習倒立,這個大家都能接受。于是這個倒立的傳統(tǒng)一直延續(xù)至今,和花名文化、武俠文化一并傳承了下來。
隨著訪問量和數(shù)據(jù)量的飛速上漲,問題很快就出來了,第一個問題出現(xiàn)在數(shù)據(jù)庫上。mySQL當時是第4版的,我們用的是默認的存儲引擎myisam,這種類型讀數(shù)據(jù)的時候會把表鎖?。ㄎ覀冎繭racle在寫數(shù)據(jù)的時候會有行鎖,讀數(shù)據(jù)的時候是沒有的),尤其是主庫往從庫上面寫數(shù)據(jù)的時候,會對主庫產(chǎn)生大量的讀操作,使得主庫性能急劇下降。這樣在高訪問量的時候,數(shù)據(jù)庫撐不住了。另外當年的mySQL不比如今的mySQL,在數(shù)據(jù)的容量和安全性方面也有很多先天的不足(和Oracle相比)。
下集預(yù)告:Oracle、支付寶、旺旺
作者:趙超
文章來源:趙超的博客