国产9494免费视频,国产欧美日韩视频免费,日本高清一区二区三,国产精品久久婷婷六月丁香

網友吐槽12306網站太爛 專家:已接近技術極限

http://www.hebei.com.cn 2014-01-22 17:23 長城網
【字號: | | 【背景色 杏仁黃 秋葉褐 胭脂紅 芥末綠 天藍 雪青 灰 銀河白(默認色)

  1月18日下午,2014年春運廣鐵首趟外來工專列——L328次列車從廣州火車站準時開出。買票回家,是每年春運最大的愿望

  我曾在淘寶寫過一段時間代碼,2012年在一家百強民企做電商副總,當時在極為艱苦的條件下帶隊開發了一個B2C網站,走支付寶和銀聯支付通道,年營業額千萬級(當然實在太少了,我只是說這個網站投入了實際的運營)。

  也就在那個時候,我對“12306”嗤之以鼻,覺得他們做得太爛了,認為自己能帶隊花幾百萬元用半年時間做個好的出來。于是我狂妄地想做一個開源的訂票系統給他們。我花了一個星期時間思考建立數據模型,思考到庫存這一步的時候,我才發現,“12306”的庫存復雜性比淘寶、京東高很多倍,運算量也大很多倍。傳統的分布式數據庫、緩存、負載均衡技術并不能恰好滿足“12306”的需求。

  淘寶技術的確比“12306”強大很多倍,淘寶現在的系統也是花了10倍于“12306”的錢、時間和人力才做起來的。根本原因還是鐵路運力不能滿足春運需求,淘寶也解決不了這個問題。

  “12306”這一年來進步非常大。從前端動畫驗證碼、分時段搶票,到后端去小型機、虛擬化、內存數據庫的運用。可以說,這是中國官方部門做得最強大的網站(電商系統)。至于“12306”一期工程3個億(含硬件)貴不貴我不評價,我只提供一個數字供參考:百度一年的研發費用(不含硬件)是10億元,這來自百度財報。3億元看起來好大一個數字,真用到超大型的電商系統、搜索引擎系統里面,其實也不算天文數字了。

  你不知道的“秒殺”

  為什么秒殺壓力大,為什么“12306”的動態庫存很復雜?

  先說秒殺。

  2013年12月25日前后,天貓搞了一個圣誕季積分兌換活動,持續幾天。25日上午10時12分,放出了15000個天貓魔盒,從成交記錄上看,19秒內全部搶完。

  實際上,我也參加秒殺了,那天的題目特別簡單——請輸入×××漢字的拼音首字母,我5秒內答題完畢并提交訂單,結果系統告訴我排隊的人太多,擠不進去,并提示14秒后重試。人太多就是因為題目太簡單了,門檻越低,5秒內擠進去的人也越多,如果題目換成“2克濃度為3%的U235在大亞灣核電站能發多少度電”,5分鐘之內都不會有1萬5千人跟我競爭。

  我想,14秒以后哪還有我的事呀,于是重新答題秒殺,結果出現了服務器錯誤的頁面。反復刷新幾次,秒殺就已經結束了。

  淘寶是什么技術水平呢,淘寶有至少4000名技術人員,至少4萬臺服務器(這是兩年前的公開數據)。2013年11月11日成交額351億元,2012年全年成交額超過1萬億元。

  淘寶擁有各種自主研發團隊:服務器、交換機;操作系統、Web服務器、Java語言虛擬機、數據庫、負載均衡器、Java運行容器。淘寶還有數不清的開源項目和中間件,如高性能Java通信中間件HSF、分布式數據庫中間件TDDL、異步消息系統notify等等。

  以淘寶這樣的技術水平,都還不能做到秒殺時讓每個用戶都沒有擁擠感,為什么?

  一是要尊重物理原理,一臺服務器一秒鐘能承受的計算量是有極限的,任你怎么優化,采用多高效的算法和編程語言,都突破不了某個極限,比方說汽車發動機驅動的F1賽車至今也不能突破400公里的時速。

  二是要考慮經濟效益,“十一”黃金周的時候,北京主城區到八達嶺長城的路堵得嚴嚴實實,但不能因為黃金周的高峰,就把這段路修成長安街那樣10車道的高速公路,否則花費天文數字(“12306”那3個億大概只夠修1-3公里)修了一段路,平時曬谷子?

  淘寶目前的硬件和帶寬數量,已經超出日常運營的需求了,目的就是留出相當大的余量給大促銷。

  再說動態庫存。

  淘寶秒殺天貓魔盒的時候,只有一個商品(SKU),它的庫存是15000個。有一個人秒殺到了,庫存就減1,19秒賣完的,每秒要成功產生789個訂單。想象一下,你在廣場上賣火車票,一秒鐘內有8萬人舉著錢對你喊:賣給我!

  很多人都知道,比秒小的時間單位還有毫秒、皮秒、飛秒。但交易系統登記一個交易可不像電子繞著原子核跑一圈那么簡單,它要做這些事:檢查是否惡意訪問、取到系統時間、取到顧客默認收貨地址、核對顧客秒殺資格、生成訂單號、把顧客ID系統時間訂單號收貨地址寫入訂單系統、扣除顧客天貓積分、商品庫存減1、給顧客打標記(每人只能秒一個)等等,每件事都要花費毫秒級別的時間,這些操作加起來的時間可能是接近1秒級別的,但由于淘寶的服務器比較強悍,而且采用了分布式和集群技術,結果比1秒理想一點。但即使有1萬臺服務器,也不能把這個時間稀釋成萬分之一秒,因為,商品只有一種,它有15000個庫存,對應的數據庫記錄只有一行,所有的交易請求都要到這里來處理。

  能不能把這15000個拆分成5000個商品并分配到5000臺服務器上呢?那樣不就可以5000臺服務器同時處理了嗎?答案是不能,首先,5000個商品,意味著有5000個商品詳情頁,5000個購買按鈕,這對前期的營銷、引流是個災難。基本上就沒法做引流入口了,顯然這違背了商業管理原則,人為增加了信息混亂程度。其次,天貓魔盒秒殺也不是啥大事,即使按官方標價399元來計算,也就600萬元的交易。如果600萬的交易要花費那么大的配套成本,就太不劃算了。再次,淘寶有十幾億商品,這十幾億商品的展示交易和管理,本來就是分布到上萬臺服務器上去了。沒有必要再把每個商品按庫存拆成多個商品了。

  這789人搶到了,還不一定會付款,所以就又帶來訂單取消重新恢復庫存的問題。還有想要的消費者們,會認為還有機會,繼續在前臺刷一會兒,最終這個秒殺會被熱情的消費者們猛刷30秒到1分鐘。

 [1] [2] [3] 下一頁

關鍵詞:12306,吐槽,極限,網絡購票

分享到:
打印 收藏本頁
稿源: 金羊網
責任編輯:王培炎
關閉