大型網(wǎng)站架構(gòu)演化的價(jià)值觀
這個(gè)世界沒(méi)有哪個(gè)網(wǎng)站從誕生起就是大型網(wǎng)站;也沒(méi)有哪個(gè)網(wǎng)站第一次發(fā)布就擁有龐大的用戶,高并發(fā)的訪問(wèn),海量的數(shù)據(jù);大型網(wǎng)站都是從小型網(wǎng)站發(fā)展而來(lái)。網(wǎng)站的價(jià)值在于它能為用戶提供什么價(jià)值,在于網(wǎng)站能做什么,而不在于它是怎么做的,所以在網(wǎng)站還很小的時(shí)候就去追求網(wǎng)站的架構(gòu)是舍本逐末,得不償失的。小型網(wǎng)站最需要做的就是為用戶提供好的服務(wù)來(lái)創(chuàng)造價(jià)值,得到用戶的認(rèn)可,活下去,野蠻生長(zhǎng)。
所以我們看到,一方面是隨著互聯(lián)網(wǎng)的高速發(fā)展,越來(lái)越多新的軟件技術(shù)和產(chǎn)品從互聯(lián)網(wǎng)公司誕生,挑戰(zhàn)傳統(tǒng)軟件巨頭的江湖地位。
另一方面卻是中小網(wǎng)站十幾年如一日地使用LAMP技術(shù)(Linux+Apache+MySQL+PHP)開(kāi)發(fā)自己的網(wǎng)站,因?yàn)長(zhǎng)AMP既便宜又簡(jiǎn)單,而且對(duì)付一個(gè)中小型網(wǎng)站綽綽有余。
大型網(wǎng)站架構(gòu)技術(shù)的核心價(jià)值是隨網(wǎng)站所需靈活應(yīng)對(duì)
大型網(wǎng)站架構(gòu)技術(shù)的核心價(jià)值不是從無(wú)到有搭建一個(gè)大型網(wǎng)站,而是能夠伴隨小型網(wǎng)站業(yè)務(wù)的逐步發(fā)展,慢慢地演化成一個(gè)大型網(wǎng)站。在這個(gè)漫長(zhǎng)的技術(shù)演化過(guò)程中,不需要放棄什么,不需要推翻什么,不需要?jiǎng)×业母锩湍敲礉?rùn)物細(xì)無(wú)聲地把一個(gè)只有一臺(tái)服務(wù)器,幾百個(gè)用戶的小網(wǎng)站演化成一個(gè)幾十萬(wàn)臺(tái)服務(wù)器,數(shù)十億用戶的大網(wǎng)站。今天我們看到的大型網(wǎng)站,Google,F(xiàn)acebook,Taobao,Baidu莫不遵循這樣的技術(shù)演化路線。
驅(qū)動(dòng)大型網(wǎng)站技術(shù)發(fā)展的主要力量是網(wǎng)站的業(yè)務(wù)發(fā)展
創(chuàng)新的業(yè)務(wù)發(fā)展模式對(duì)網(wǎng)站架構(gòu)逐步提出更高要求,才使得創(chuàng)新的網(wǎng)站架構(gòu)得以發(fā)展成熟。是業(yè)務(wù)成就了技術(shù),是事業(yè)成就了人,而不是相反。所以網(wǎng)站架構(gòu)師應(yīng)該對(duì)成就自己技術(shù)成績(jī)的網(wǎng)站事業(yè)心存感恩,并努力提高技術(shù)回饋業(yè)務(wù),才能在快速發(fā)展的互聯(lián)網(wǎng)領(lǐng)域保持持續(xù)進(jìn)步。
不過(guò)我們也看到有些傳統(tǒng)企業(yè)投身互聯(lián)網(wǎng),在業(yè)務(wù)問(wèn)題還沒(méi)有理清楚的時(shí)候就從外面挖來(lái)許多技術(shù)高手,仿照成功的互聯(lián)網(wǎng)公司打造技術(shù)平臺(tái),這無(wú)疑是南轅北轍,緣木求魚(yú)。而這些技術(shù)高手離開(kāi)了它們熟悉的環(huán)境和工作模式,也是張飛拿著繡花針使不上勁來(lái)。
網(wǎng)站架構(gòu)設(shè)計(jì)誤區(qū)
在大型網(wǎng)站架構(gòu)發(fā)展過(guò)程中有如下幾個(gè)容易出現(xiàn)的誤區(qū)。
一味追隨大公司的解決方案
由于大公司巨大成功的光環(huán)效應(yīng),再加上從大公司挖來(lái)的技術(shù)高手的影響,網(wǎng)站在討論架構(gòu)決策時(shí),最有說(shuō)服力的一句話就成了“淘寶就是這么搞的”或者“Facebook就是這么搞的”。
大公司的經(jīng)驗(yàn)和成功模式固然重要,值得學(xué)習(xí)借鑒,但如果因此而變得盲從,就失去了堅(jiān)持自我的勇氣,在架構(gòu)演化的道路上遲早會(huì)迷路。
為了技術(shù)而技術(shù)
網(wǎng)站技術(shù)是為業(yè)務(wù)而存在的,除此毫無(wú)意義。在技術(shù)選型和架構(gòu)設(shè)計(jì)中,脫離網(wǎng)站業(yè)務(wù)發(fā)展的實(shí)際,一味追求時(shí)髦的新技術(shù),可能會(huì)將網(wǎng)站技術(shù)發(fā)展引入崎嶇小道,架構(gòu)之路越走越難。
企圖用技術(shù)解決所有問(wèn)題
最典型的例子就是2012年年初12306故障事件后,軟件開(kāi)發(fā)技術(shù)界的反應(yīng)。
各路專業(yè)和非專業(yè)人士眾說(shuō)紛紜地幫12306的技術(shù)架構(gòu)出謀劃策,甚至有人提議幫12306寫(xiě)一個(gè)開(kāi)源的網(wǎng)站,解決其大規(guī)模并發(fā)訪問(wèn)的問(wèn)題。
12306真正的問(wèn)題其實(shí)不在于它的技術(shù)架構(gòu),而在于它的業(yè)務(wù)架構(gòu):12306根本就不應(yīng)該在幾億中國(guó)人一票難求的情況下以窗口售票
的模式在網(wǎng)上售票(零點(diǎn)開(kāi)始出售若干天后的車票)。12306需要重構(gòu)的不僅是它的技術(shù)架構(gòu),更重要的是它的業(yè)務(wù)架構(gòu):調(diào)整業(yè)務(wù)需求,換一種方式賣票,而不要去搞促銷秒殺這種噱頭式的游戲。
后來(lái)證明12306確實(shí)是朝這個(gè)方向發(fā)展的:在售票方式上引入了排隊(duì)機(jī)制、整點(diǎn)售票調(diào)整為分時(shí)段售票。其實(shí)如果能控制住并發(fā)訪問(wèn)的量,很多棘手的技術(shù)問(wèn)題也就不是什么問(wèn)題了。
技術(shù)是用來(lái)解決業(yè)務(wù)問(wèn)題的,而業(yè)務(wù)的問(wèn)題,也可以通過(guò)業(yè)務(wù)的手段去解決。
小結(jié)
時(shí)至今日,大型網(wǎng)站的架構(gòu)演化方案已經(jīng)非常成熟,各種技術(shù)方案也逐漸產(chǎn)品化。許多小型網(wǎng)站已經(jīng)慢慢不需要再經(jīng)歷大型網(wǎng)站經(jīng)歷過(guò)的架構(gòu)演化之路就可以逐步發(fā)展壯大,因?yàn)楝F(xiàn)在越來(lái)越多的網(wǎng)站從建立之初就是搭建在大型網(wǎng)站提供的云計(jì)算服務(wù)基礎(chǔ)之上,所需要的一切技術(shù)資源:計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)都可以按需購(gòu)買,線性伸縮,不需要自己一點(diǎn)一點(diǎn)地拼湊各種資源,綜合使用各種技術(shù)方案逐步去完善自己的網(wǎng)站架構(gòu)了。
所以能親身經(jīng)歷一個(gè)網(wǎng)站從小到大的架構(gòu)演化過(guò)程的網(wǎng)站架構(gòu)師越來(lái)越少,雖然過(guò)去有這種經(jīng)歷的架構(gòu)師也很少(從小型網(wǎng)站發(fā)展成大型網(wǎng)站的機(jī)會(huì)本來(lái)就極少),但是將來(lái)可能真就沒(méi)有了。
但也正因?yàn)榫W(wǎng)站架構(gòu)技術(shù)演化過(guò)程難以重現(xiàn),所以網(wǎng)站架構(gòu)師更應(yīng)該對(duì)這個(gè)過(guò)程深刻了解,理解已成熟的網(wǎng)站架構(gòu)技術(shù)方案的來(lái)龍去脈和歷史淵源,在技術(shù)選型和架構(gòu)決策時(shí)才能有的放矢,直擊要害。
如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇