淺論12306網(wǎng)上購票系統(tǒng)的設(shè)計(jì)

12306可以說是一個(gè)成功型的案例。

你對(duì)他不好的印象是來自于12306剛出來那年,搶火車票導(dǎo)致各種崩潰,加載不出來,特別難辨認(rèn)的驗(yàn)證碼,還要安裝什么安全的證書。

后來幾年12306做了重大的底層技術(shù)變革,但是網(wǎng)頁UI并沒有換(關(guān)于UI這個(gè)東西,更換UI對(duì)用戶來說是有學(xué)習(xí)代價(jià)的,尤其12306是一款面相全國人民的網(wǎng)頁和app,UI是不能隨便換的)

所以你就會(huì)理所當(dāng)然的認(rèn)為現(xiàn)在的12306還是以前的12306,非也,現(xiàn)在的12306每天能扛得住30億次查詢請(qǐng)求。

通過官方的網(wǎng)頁、鐵路12306 app、攜程、去哪兒、超級(jí)火車票,還有各種民間程序員寫的搶票工具等等,包括各種瀏覽器插件不停的刷新?lián)屍?。還有人嫌棄自己不是下鋪,也要刷刷刷,改成滿意的為止。

有一張火車票被退了,其實(shí)這張票只是一個(gè)區(qū)間,比如西安始發(fā),到北京終點(diǎn)這張票被退了,這樣按道理來說中間任意經(jīng)停站到任意經(jīng)停站都可以買票,等等,會(huì)有很多意想不到的需求,包含各種奇葩的組合

綜上所述,其實(shí)12306的業(yè)務(wù)邏輯遠(yuǎn)比淘寶這樣的電商要復(fù)雜很多

需求分析、系統(tǒng)設(shè)計(jì)不僅要考慮到全國各省的情況,還要考慮窗口買票,電話買票不受互聯(lián)網(wǎng)購票的影響。

畢竟在窗口查出一張票,在用戶決定買它之前,這張票不可能被互聯(lián)網(wǎng)購票的人給搶了。也就是說互聯(lián)網(wǎng)購票在票源稀缺的情況下,和窗口電話購票相比是沒有優(yōu)勢(shì)的。

互聯(lián)網(wǎng)購票之所以會(huì)失去優(yōu)勢(shì),主要原因就是12306購票系統(tǒng)為了支持每天大量的查詢請(qǐng)求,把票數(shù)的緩存時(shí)間調(diào)整的極長(zhǎng),筆者目測(cè)可能5分鐘都不止。

簡(jiǎn)單說就是現(xiàn)在西安去北京的票是0張,突然有人退了票,這時(shí)2個(gè)人,一個(gè)窗口訂票,一個(gè)互聯(lián)網(wǎng)訂票。

互聯(lián)網(wǎng)訂票的人刷新發(fā)現(xiàn)還是0張,當(dāng)然他也是不停地刷新,但是得到的是舊的緩存信息

窗口訂票的人花了5分鐘時(shí)間排隊(duì),等到他的時(shí)候,互聯(lián)網(wǎng)訂票的人刷新出來了一張余票,他點(diǎn)擊購買,選乘坐人,提交訂單的時(shí)候,窗口排隊(duì)的人也在售票員那里查到了一張余票,這時(shí)候互聯(lián)網(wǎng)訂票者提交的訂單會(huì)失敗,窗口訂票的人會(huì)成功買到這張寶貴的票源。

然而這個(gè)故事還沒有結(jié)束。在窗口購票的那個(gè)人開心的拿著自己的票走了之后,互聯(lián)網(wǎng)購票的人回到票源查詢界面刷新發(fā)現(xiàn)還是有一張余票,他看到的還是舊的緩存,點(diǎn)擊票源會(huì)收到不是最新票源的提示,直到5分鐘之后,票源會(huì)再次變?yōu)?。

簡(jiǎn)單的來說,12606就是這樣設(shè)計(jì)的,從此春運(yùn)再多人搶票也不會(huì)導(dǎo)致網(wǎng)站直接崩潰,大不了就是余票為0嘍。


參考資料:http://network.51cto.com/art/201401/427406.htm

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容