新型SEO思維就是從一個全新的層次上提升seo優化的水平,達到網絡信息最佳化的展示效果!
我叫mt4国服第一盗贼 > 今日話題 > 史上最牛網站12306訂票網的十宗罪及改善開發建議

我叫mt4免费礼包领取:史上最牛網站12306訂票網的十宗罪及改善開發建議

時間:2012-09-22   文章來源:馬海祥博客   訪問次數:

我叫mt4国服第一盗贼 www.nijqb.icu 自從12306誕生之日起,就注定要成為史上最牛電商網站,對于網絡上一直流傳的段子想必大家依舊耳熟能詳:“它界面丑陋,它UI粗糙,它服務器不穩定,它用戶體驗更是爛到極點,但它卻是史上最牛逼的電商!未做一分錢廣告,短短數日全球ALEXA排名260,日訂單量基本鐵定第一,不愁銷售額,轉化率當之無愧的第一,它就是12306!”

史上最牛網站12306訂票網的十宗罪及改善開發建議-馬海祥博客

而如今經過了一年半的時間,12306網站的狀況仍未有半點改觀,反而變差了,再一次引來無數人的吐槽和不滿,因為現在買票還得排隊,被大家稱之為中國最難登陸的地方,對此,我今天就借助馬海祥博客的平臺為大家盤點一下史上最牛網站12306訂票網的十宗罪及7點改善開發建議。

一、12306鐵道部火車票網上訂票網系統的十宗罪

1、無法支持大規模并發!從去年上線到現在一直無法支持大規模并發?。ㄕ?個多月在干嘛?。?/p>

2、最重要的sharding,caching,compressing,clustering,cdn等等都做了嗎?

3、界面極操,完全不懂得應用ajax來時間局部頁面更新。

4、no longer valid - 只支持IE(據網友說可以用chrome,safari了,我四個月前mac chrome不行)

5、不能直接打印車票。

6、不能選座位。

7、使用的安全證書竟然不是有效的。

8、竟然不是https。

9、票丟失補辦后竟然要先購買一張(不能直接作廢之前那張嗎?)

10、開發費用極高(按照媒體曝光的數據統計,12306網站的花費就超過5億元),懷疑是用火星人的工資請了朝鮮人來寫的程序。

二、給12306訂票網改善并發的7點建議

有人說12306的并發是全世界最大,比Facebook,Google還大,我們姑且相信,但這不能成為操蛋體驗的借口,網站崩潰的免死金牌。

并發大并不是第一天才知道,去年春運見識過了,那時候網站剛上線不久,還可以理解。

9個月過去了,再來說事只能說明鐵道部解決這個問題的無能。

史上最牛網站12306訂票網的十宗罪及改善開發建議-馬海祥博客

我們作為用戶,最容易的就是對這個體驗吐槽,所有人都有權利這么做,也應該這么做,你不給他們壓力,他們就當你愿意,12306的體驗真心很糙!

作為技術產品人員,除了吐槽,對于解決并發問題,也提一些意見,這些意見都是在對鐵道數據沒有很深理解的前提下瞎聊的,所以可能有紕漏,但只要他們愿意開放數據,我相信很多人愿意給他提提專業意見。

1、把短時間的并發分散到長時間

并不是所有的技術問題一定要技術手段去解決,12306在節假日買票有高并發,其實完全可以引導用戶不要在出行前幾天再去買票,在主流節假日前可以考慮允許提早30天買票,越早買折扣越多。

比如T-30天可以享受9折,T-X可以享受9+(30-X)/30折扣,鼓勵大家提早買票,把短時間的并發分散到這30天去,讓系統瞬時負荷峰值盡可能的下降,馬海祥很看好這一點,對價格敏感的群眾還能享受實惠。

2、不同線路使用不同的數據庫

12306并發最大的問題可能是對于票務資源的鎖定,所以最簡單的方法就是打散對票務資源的鎖定,讓不同的線路使用不同的數據庫服務器,如果所有的線路只有一個中央數據庫,那你怎么做都是崩潰。

3、繁忙線路的票務資源分塊

簡單而言,從上海到北京的線路共1000張票,10000個人同時搶,大家都訪問一個數據庫,這個數據庫很容易崩潰。

所以,還是要把這個數據庫切分,很多不同的做法,多個車廂可以有自己的數據庫服務器;或者動態分配部分資源到指定服務器,然后動態引導流量到該服務器;不要鎖表,鎖行;等等,這點,很多數據庫專家可以插插嘴。

4、讀寫分開,盡可能的限制寫

尤其對于讀,完全可以用單獨的讀數據庫,上面可以做memcache,local cache來顯示票務信息。

對于寫,馬海祥的建議是:只有在用戶選定了一個車次信息,真的決定買的時候,再去訪問可寫的數據庫。

5、借用云服務

12306訂票網站的特點是一到節假日,資源耗用特別高,平時要小很多,這種特點的網站不適合自己配備所有的服務器,但可以考慮租用其他的云服務器、阿里云、百度云等,我想如果是鐵道部出馬,他們應該會熱烈歡迎合作滴!

6、盡可能的把計算推到用戶的瀏覽器端

考察一下典型的用戶使用方式,把查找車次,時間的功能推到用戶端。

比如,如3而言,如果北京到上海的票務信息,即使是不同的日期,都在一個數據庫上,那可以考慮在查一個日期的時候(記得日期列要加index哦)順便把左右2天的都給找出來,select … where T=X 和seleect … where T=X or T=X-1 or T=X+1對數據庫的資源消耗是沒有什么區別的。

7、排上之后發短信通知

最后還是吐槽一點,就算現在用了很低俗的用戶排隊方法!

排到之后給人發短信通知,不要期待大家盯著屏幕??!有沒有,至少在窗口排隊的時候到了我沒反應窗口大媽還會吼我滴!

馬海祥博客點評:

眾所周知,12306網站推出以來出現多次“癱瘓”,不可否認,網站“癱瘓”的原因之一是短期訪問量過大,例如,去年春運期間日均訪問量最高時達十幾億次,但是,訪問量過大并不是網站“癱瘓”的唯一原因,網站自身建設存在缺陷也是主要原因,而要提高網站服務質量,加大資金投入、更新技術和設備是必不可少的,問題是:已經投入的資金(5億人民幣)有沒有達到想要的效果?

本文為我叫mt4国服第一盗贼原創文章,如想轉載,請注明原文網址摘自于//www.nijqb.icu/jrht/106.html,注明出處;否則,禁止轉載;謝謝配合!

相關熱詞搜索: 12306網站 史上最牛網站 十宗罪 開發建議 12360

上一篇:未來10年內API是否會讓網站逐漸消亡?
下一篇:深度探索互聯網頁面價值到底有多大作用?

今日話題更多>

SEO研究院 更多 >>