在大型網(wǎng)站架構(gòu)發(fā)展過(guò)程中有如下幾個(gè)容易出現(xiàn)的誤區(qū)。
一味追隨大公司的解決方案由于大公司巨大成功的光環(huán)效應(yīng),再加上從大公司挖來(lái)的技術(shù)高手的影響,網(wǎng)站在討論架構(gòu)決策時(shí),有說(shuō)服力的一句話(huà)就成了“淘寶就是這么搞的”或者“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)。各路專(zhuān)業(yè)和非專(zhuān)業(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)始出售若干天后的車(chē)票)。12306需要重構(gòu)的不僅是它的技術(shù)架構(gòu),更重要的是它的業(yè)務(wù)架構(gòu):調(diào)整業(yè)務(wù)需求,換一種方式賣(mài)票,而不要去搞促銷(xiāo)秒殺這種噱頭式的游戲。后來(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ù)的手段去解決。
時(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)買(mǎi),線性伸縮,不需要自己一點(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í)才能有的放矢,直擊要害。
Copyright All Rights GreatGoal Design co.,ltd. 魯ICP備16002128號(hào)-3 技術(shù)支持: @圭谷設(shè)計(jì)