從技術層面看,從客觀現實出發,12306 逢節必癱情有可原嗎?

樓快歪了,原題的意思是,就在運力不足的情況下,12306的服務端能不能做得更好,能不能讓購票體驗更好。不會有那麼多的卡頓宕機無秩序?


本來不想再趟12306這混水,但是我想問各位一句:最近這幾天12306真的很卡嗎?是1月7號以後修改了起售時間以後?

不要把買不到票和網站卡說成一會事啊。

網站卡有時候是本地網速問題,有時候是購票選擇就沒做好。至於有人說整點刷不出來,淘寶在雙11的整點的時候也一樣刷不開的啊。

至於下單以後排隊等待時間長的問題,據我所知大多數排隊的人還是都能買到的,排不上的肯定會罵,但還是有很多人排上了的。

有人會說我瞎說,我1月10日的時候就參與了幾輪搶票,都是手動操作,在公司用的北京電信的網路,瀏覽器是firefox,這一天搶的是陰曆二十九的票,按說是最熱門的時間段,我都搶到了!

登錄卡頓?我提前十分鐘登錄的,感覺十分正常。親們,雙11難道大家都是凌晨才登錄的?不都是提前登錄上的嗎?

早晨8點搶K507,我在中途站下車,但沒有票,後來才明白,這個車是優先放桐梓和更遠的票的,買到桐梓即可,硬座、硬卧隨便選。搞清楚自己要買的車的限售區段,不知道的去售票窗口問。

下午搶北京到石家莊的票,北京到鄭州的票,高鐵線路買票的時候先買那種終到的車,比如北京到石家莊有好幾十趟車,有到武漢的,有到廣州的,到武漢和廣州的票都是不賣給到石家莊的,直接去搶終到石家莊的就可以了。

搶石家莊的時候下單等了5分鐘,但都拿到票了。

十分鐘左右北京-石家莊已經無票了,但45分鐘以後又都放出來了,這明明就是票販子的刷票軟體乾的事情嘛,第一輪買不到再等等就可以了。

大多數人抱怨12306還是抱怨:哎,怎麼1分鐘不到票就沒有了啊?其實,票有還很多的,把到站改成你要買的車次的終點再試試看。就連北京-哈爾濱這麼熱門的線路,我今天上去查還有餘票呢。這不是網站技術問題,是購票策略的問題。

還有,跟我一樣買到票的還有很多普通人,比如有買到北京-重慶的卧鋪的,也都是提前十分鐘登錄,沒有用什麼搶票工具,沒有感覺到有多卡頓的情況。


-------------------2014/1/13更新----------------------------------------------------------------------------------------------
試著把這個出票模擬主要的一些代碼貼出來,上午的時候又優化了一下代碼,現在速度快得有點離譜,我都懷疑不是有什麼地方沒考慮到,昨天拉了一天肚子,今天有點昏頭... 各位幫忙看看吧

出票線程 隨機起點和終點出票,每張票設定20%幾率退票,直到所有座位全部售出為止。
查詢線程 不斷循環計算所有行程的余票數量。
2000座位30站的車次運行結果如下:

//設定為2000個座位30站,每個座位在每個站點的狀態用一個位來標識,這樣一個座位用一個int就
//可以描述了,同時用位操作來判斷座位的佔用狀態也比較快捷。

//基本的位操作定義
#define _LOCK_SEAT( a, b ) ( a |= b )
#define _HAVE_SEAT( a, b ) ( ( a b ) == 0 )
#define _ISLOCK_SEAT( a, b ) ( ( a b ) == b )
#define _FREE_SEAT( a, b ) ( a = (~b) )

//基礎的數據結構
int nSeatCheck[30][30]; //用來快速檢查某座位是否還能售出
int nSeatState[2000]; //座位佔用狀態
int nSeatSellStart[30][30]; //不同行程遍歷座位的起始點

然後是初始化

//初始化所有行程的座位佔用標識
//這樣判斷一個座位是否還能賣出某個行程的車票,只需要一次_HAVE_SEAT宏操作就可以了
for (int i=0;i&<29;i++) { for (int j=i+1;j&<30; j++) { for (int k=i;k&

出票操作,這裡是最簡單的順序出票,還沒有考慮提高座位利用率和一次買幾張車票要盡量安排在一起的優化。

// 給定起點和終點,鎖定座位
int LockSeat(int nStart, int nEnd)
{
//依次遍歷所有座位
for (int i=nSeatSellStart[nStart][nEnd]; i&<2000; i++) { //如果座位經過此行程的站點沒有被佔用 if (_HAVE_SEAT(nSeatState[i], nSeatCheck[nStart][nEnd])) { //出票 _LOCK_SEAT(nSeatState[i], nSeatCheck[nStart][nEnd]); //因為是順序出票,所以此行程的下一張車票應下一個座位開始遍歷 nSeatSellStart[nStart][nEnd] = i+1; //返回座位號 return i; } } // 如果沒有找到座位,說明此旅程的車票已經全部售出 nSeatSellStart[nStart][nEnd] = 2000; return -1; }

退票操作

int UnlockSeat(int nStart, int nEnd, int nSeat)
{
//判斷這個座位是否有售出
if (_ISLOCK_SEAT(nSeatState[nSeat], nSeatCheck[nStart][nEnd]))
{
//釋放掉這個座位
_FREE_SEAT(nSeatState[nSeat], nSeatCheck[nStart][nEnd]);

//有座位被釋放,則受影響的行程需要重新計算出票遍歷時的起始座位
for (int i=0;i&<29;i++) { for (int j=i+1;j&<30; j++) { if (nSeatSellStart[i][j] &>nSeat
_HAVE_SEAT(nSeatState[nSeat], nSeatCheck[i][j]))
{
nSeatSellStart[i][j] = nSeat;
}
}
}

return nSeat;
}
return -1;
}

------------------------下面是原回答---------------------------------------------------------------------------------------------
12306做得再好,也是無法改變買票難的客觀現實的,如果不癱的話,可能還會讓人覺得 網站一點都不卡,票居然眨眼就沒了,一定有黑幕啊!


從技術層面來講,以鐵道部擁有的資源和條件,12306是應該也可以做得更好的,12306或許是有著巨大的挑戰和困難,但至少不會是什麼出票事務有多複雜。

火車票售票邏輯其實是很簡單的,絕沒有有些同學說的那麼複雜,畢竟不同車次之間是無關聯的,而一趟車上,不同座位之間也是沒有關聯的,只是同一個座位在不同的車站上有關聯性。

下圖是我自己寫的一個簡單測試程序,一個2000座位的火車經過30個車站測出票邏輯模擬,經過優化之後,單線程每秒處理可以在600萬以上,雖然沒有考慮連接處理和其他邏輯,但至少在出票事務上是幾乎沒有瓶頸的,尤其是這個模擬還沒有考慮把不同席別的座位分開,所以實際中處理效率應該更快。而除了核心出票邏輯,其他事務幾乎都可以通過分散式處理來提高負載。


美國醫保網站出現的故障和中國12306網站的問題是否可以類比?

春運到來之前,火車票購票網站12306新版6日將上線試運行。新版推出了「更多選項」功能,旅客在錄入乘車人、日期、車次、席別等信息後,12306網站即可為旅客提供動態刷新、自動提交訂單等新功能,而這些功能此前是搶票插件獨有的。

  這項功能簡直是業界良心,我都找不到吐槽點了 利益相關:剛幫同事搶了一張回家的卧鋪票。前後用了十分鐘。
  相比之下——【美國醫改網站周一訪問量突破100萬 雖未崩潰但錯誤依舊】作為奧巴馬政府力推的新醫保改革法案所包含的一項重要舉措,醫保網站自今年10月1日推出以來,一直因網站伺服器和軟體平台故障頻頻,造成登錄困難,導致民眾怨聲載道,引發輿論對奧巴馬執政能力的質疑。

  據說奧巴馬醫改網站投資了6.78億美元,崩潰了好幾輪了,這周修復後錯誤依舊。


  再也不黑12306了!換算出來3000多萬美刀的費用,相比於美國醫改網站只有十分之一不到,峰值連接人數數十倍於醫保網,雖然故障不少,但勉強能正常運行,大多數人還是能順利訂到票,以後再也不噴它了!


  不過製作費用對比一看,就能看出來中國的碼農有多苦逼了


有,但無法接受


誰能給我從技術層面上解釋一下為什麼 12306 捨不得買一個 https 證書?


轉自西西河,有關12306技術難度和實現水平的又一篇重磅文章。作者是前淘寶工程師,後來在一家電商公司做技術副總。和大多數人一樣,12306剛出來時他也罵,甚至為了證明這事兒很容易做,他發起了一個"替12306設計系統"的開源項目,兩年後就有了這篇長微博。如果你還覺得自己很牛逼,先超越他的思考吧。我只轉帖。。。不接罵。。。不謝!


12306購票和退票以及余票查詢邏輯,下面是我的思路:

車票表:
(車次, 區間, 已售)
(1024, [1,2], 0)
(1024, [1,2,3], 0)
(1024, [1,2,3,4], 0)
(1024, [2,3], 0)
(1024, [2,3,4], 0)
(1024, [3,4], 0)
主鍵是自增欄位,給"車次"欄位添加索引.
優化並發時,可以考慮根據"車次"進行分表分庫.
區間[1,2,3]的含義是:從車站1上車,經過車站2,到車站3下車.

購票邏輯:
例如用戶購買區間[2,3,4]的票時,
找出包含[2,3,4]的區間如[1,2,3,4]已售的票,
以及[2,3,4]包含的子區間如[2,3]和[3,4]已售的票,
如果三者的票合計小於500(這裡假設列車滿載為500人),
則用戶能夠購票,即[2,3,4]這個區間已售的票數+1.

SQL購票邏輯如下(以MySQL為例):
SET AUTOCOMMIT=0;
BEGIN WORK; --開啟事務
select 已售 from 車票表 where 車次=1024
and 區間 in ("2,3,4", "2,3", "3,4", "1,2,3,4") for update;
update 車票表 set 已售=(已售+1) where 車次=1024 and 區間="2,3,4";
COMMIT WORK; --提交事務
SET AUTOCOMMIT=1;

其中 select for update 的作用是讀上鎖(對讀出的行上寫鎖),依賴事務.

上述購票邏輯,關鍵在於找到where條件in中的區間,步驟如下:

1.找出包含一個區間如[2,3,4]的其他區間:
select 區間 from 車票表 where 車次=1024 and 區間 like "%2,3,4%";
在本例中得到:
[1,2,3,4]

2.找出一個區間如[2,3,4]里的子區間演算法(以PHP為例):
function foo(array $arr, array $tmp) {
$size = count($arr);
if($size == 1) return;
for($i=2;$i&<=$size;$i++) { $tmp[] = array_slice($arr, 0, $i); } array_shift($arr); foo($arr, $tmp); } $arr = array(2,3,4); $tmp = array(); foo($arr, $tmp); var_export($tmp); 在本例中得到: [2,3] [2,3,4] [3,4] 退票邏輯比購票邏輯簡單得多,直接給對應車次,對應區間的已售車票-1即可: update 車票表 set 已售=(已售-1) where 車次=1024 and 區間="2,3,4"; 余票查詢邏輯: 例如查詢車次1024上區間[2,3,4]的余票: select 已售 from 車票表 where 車次=1024 and 區間 in ("2,3,4", "2,3", "3,4", "1,2,3,4"); 用500減去上述區間已售車票的和就是區間[2,3,4]上的余票. 這裡假設列車滿載為500人.

邏輯理清了,個人覺得也並沒有如何如何的難,如何如何的不可實現.

12306存在的問題:
第一個,動不動就要求重新登錄,也就是登錄突然失效.
第二個,余票顯示時有時無,余票不能做到實時顯示就是在浪費用戶的精力甚至徒增伺服器壓力,讓大家以為還有票,繼續刷,其實沒有.
第三個,驗證碼偶爾出現明明輸入正確卻提示錯誤的問題.

還有一個不是技術問題的問題,就是12306噁心地勾結第三方購票平台,對其開放購票介面,這就是不公平競爭.那些在第三方購票平台如攜程/同程加價搶票的買家,他們不用登錄,不用刷驗證碼,提供一個身份證號以及預付款就行(甚至不加價都可以).既然如此,在12306官網上購票的用戶怎麼搶得過那些第三方購票平台的"綠色通道(後門)"?這點是最令我噁心和反感的.


很簡單的問題,漿糊腦都不明白。說什麼質疑前要拿出解決方案。質疑國家足球隊就要組一支足球隊才行?當你真組一支隊出來,足協會理你嗎?
同理,你說讓質疑者先拿出解決方案再質疑,如果說鐵路總公司花費數億才弄個12306出來,質疑者真拿出比12306更好的解決方案出來,你會捐多少錢給方案提出者?你會說服鐵路總公司採納該方案嗎?如果不能,你憑什麼要別人先提供解決方案才質疑?!
知乎為12306洗地的人先裝作前鐵道部高層一樣,狠批阿里巴巴和IBM不敢接單。洗地者真牛啊,去年1月份,律師狀告鐵道部(當時還是鐵道部)招標信息不透明,最後鐵道部不作回應(新聞鏈接:12306招標內幕不透明 律師狀告鐵道部)。被告鐵道部尚且不回應,為了獲得點贊,」鐵道部知情人士「竟然堂而皇之地公開招標細節,「為什麼要選擇跟鐵道部有千絲萬縷的公司,不是鐵道部偏私,而是阿里巴巴、IBM無能啊」。哈哈。洗地者是知乎真愛粉嗎?
最後,Fenng在微信 小道消息 上說了,知乎上為12306洗地,獲贊幾K以上的答案內容最開始是以「據我某某同學說」或」從我某某朋友那裡聽來的「這樣的都市傳說體開始的。後來為了更好地洗地,誅心地刪了那幾個字。呵呵。


除非讓中國最頂尖的技術團隊來做也是這個結果,否則就不是。


不好就得被批評,無關原諒不原諒


還是看到很多人在噴,我想,既然題主開了這個問題,自然是希望大家在技術上討論問題,而不是在那吃飽了沒事幹的在這噴。
洗地不洗地的,請仔細考慮,拿出你認為的技術方案來。

知乎,不是百度知道,也不是網易跟帖。
噴,是最沒用的答案。
你要是真有技術,你就說出你認為的技術問題在哪,你認為該怎樣解決。而不是毫無實質內容的回答,卻能依靠【紅人效應】得到那麼多的贊。

空談誤國,實幹興邦!

下文是原回答:
-------------------------------------------

必須情有可原啊!

就算是把淘寶團隊,IBM,亞馬遜團隊搞來,也不一定搞的比現在好多少。
只看一趟車,有那麼多個站,有的人才 A 站坐到 Z 站,有的 A 站 坐到 C 站,有的 B 站到 Z 站,有的 C 站到 Y 站,你告訴我,讓你寫這樣的系統,你會考慮怎麼做?是不是只要有一個人買票,所有人就不能買到這人需要的區間的這個座位?這意味著什麼,只要出一張票,就要全局所有訪問者都要通知。那麼多趟車次,怎麼可能處理的過來,你考慮過資料庫的感受嗎?你考慮過後端存儲需要多大的 IOPS 嗎?

具體說一下商品吧:
以一趟車為例,假如他有 A-Z 共 26 個站。有商務座、一等座、二等座。
那商品可絕對不是 3 種!
因為人可能從 A 去 B,可能 C ……那麼從 A 出發的商品就有 25 個商品!
那麼從 B 出發的呢,24 種商品
……
假如有人買了 A 到 Z 的,那麼其他所有商品數量都要減 1。
假如買了 A - B 的,那麼是不是所有從 A 出發的商品,都要減 1?
這麼說應該明白了一些,就不再一一展開了,想算的話,誰有空算一下這樣有多少種商品吧。
這和淘寶可不一樣!淘寶一個商品就是一個商品,和其他商品沒關係。
火車票這個,一趟車就有這麼多種商品,而且,商品還是動態庫存的,不是淘寶那樣的靜態庫存。

進程死鎖怎麼處理?
不管你前台做的再好,後台都要落在資料庫上的。資料庫性能怎麼提升?
資料庫是需要保證一致性的!集群的資料庫之間光同步就夠受的。

還有,你考慮過,還有電話訂票這個渠道么?這個渠道訂的票也是要寫入到這個系統的!

你要問我淘寶為啥撐得住。淘寶的商品和商品之間是松耦合,甚至等於是 0 耦合的,這個商品和那個商品是沒有關係的。簡單的說,買的時候,只要保證庫存別 &< 0 就好了。但票可不一樣,上面說過了!

還有人在噴黃牛用假身份證刷票,不去和公安系統做認證?
我去,現在這個樣子就已經處理不過來了,再和公安系統做認證,你考慮過公安系統能撐得住這麼大的認證請求量么!

先說這些,回頭再補。


來自wiki CAP定理

在理論計算機科學中,CAP定理(CAP theorem),又被稱作布魯爾定理(Brewer"s theorem),它指出對於一個分散式計算系統來說,不可能同時滿足以下三點:

  • 一致性(Consistency)(所有節點在同一時間具有相同的數據)
  • 可用性(Availability)(保證每個請求不管成功或者失敗都有響應)
  • 分隔容忍(Partition tolerance)(系統中任意信息的丟失或失敗不會影響系統的繼續運作)

根據定理,分散式系統只能滿足三項中的兩項而不可能滿足全部三項


我覺得12306的系統的問題就是非常典型的CAP原理的案例。售票系統不同於淘寶,一個車次在任意一個時間段的一個座位只能賣給一個人。那麼必須保證一致性C。淘寶賣多了也就賣多了。
請求信息量巨大,所以必須保證分區容忍性P。
那麼只能犧牲A,也就是說一定會有請求石沉大海。
個人感覺,目前12306在A上已經有很大改進了。。比起之前的體驗,還是有很大提升的。當然,估計換成擅長大數據量的互聯網公司做會更好些。.


其實無論如何,在運力嚴重不足的春運這個背景下,12306也會繼續被唾罵下去,無論其用戶體驗做的多麼好或者多麼差。

本質上來說,12306這個網站的建立,直接把過去幾十年來春運時,各個大中小城市各個火車站排隊買票、黃牛刷票、乘客買不到票等等情況,完完全全的搬到了互聯網上。
而另一方面,以前的各個火車站發生的矛盾、衝突、問題,在全國範圍內集中到了一個地方,也就是12306上。
因此,之前在火車站賣票沒法解決的黃牛問題(網上黃牛)、排隊等很久(12306上刷很久刷不到)、買不到票(12306上票沒了),被集中並且放大的呈現在了12306上。
在這樣的大背景下,只要運力不足,春運需求旺盛,永遠會有人對12306不滿下去。

而背後真正的原因,在於各種資源的嚴重地域不平衡發展(如教育、醫療、機會、收入等在各地的不平衡,導致大批人背井離鄉,從而導致春運對運力的高爆發需求)。如果每個人的家鄉都能夠像北上廣深等地一樣擁有最好的教育醫療環境、足夠的就業機會、以及足夠的收入,以中國人對故土的依戀,背井離鄉去外地的只會是少數。

12306需要做的,只能是保證公平的情況下,儘力的去更加合理的將車票分配給所需要的人,沒有買到票的人,和10年前在火車站買不到票的人沒有本質區別。


有,而且目前無法解決。淘寶團隊來看了也不行。因為購票流程太複雜了。樓主現在可以查查12306的後台源代碼 已經很先進了 怪只能怪中國人太多吧。。


專門來反對Fenng的答案。
這個網站自己不能產生一張火車票啊!他再怎麼流暢不卡,秒刷新,問題是春運這種時候票就是供不應求,怨網站沒用啊。平時不是好好的,票什麼的都很容易。總不能為了這麼幾天用戶體驗,真的斥巨資搞的一點不卡(先不說可不可行),到時候又要有人站出來罵揮霍公款了。真難伺候。
我把這段話再寫一遍。
對於Fenng這種非黑即白的思路,做不到就滾蛋的思路,真不知道你們在社會上怎麼活下去的?居然這麼多點贊,要是純粹為了好玩也就算了,如果真的這麼認同,這還是知乎?或是貼吧了吧!
然後題目被改了,我就把我的想法簡要說一下,
首先,節假日高速路線都堵上了,那麼是不是我們需要多造點高速路,然後節假日不堵了,平時閑在那發霉?這麼實際的問題,應該都有答案吧諸位。同理,是不是為了你節假日刷新不困難,我就整上百個伺服器在那伺候著你?平時就閑著了?(有人說可以臨時租一個啊,過了這段時間就好了。我想說如果這麼容易,還需要我們在這裡指手畫腳?那幫公務員再蠢,這都不知道?提前春運幾天部署幾個伺服器能難死他們?)
綜上,類比一下高速路段,其實做法有可比之出。
往大的說,錢要用在合適的地方。往小的說,要有性價比啊!
--------------------------------------------------------------------------------------
以下原文
技術不是萬能的。人家能做這個平台,真的很難。用你的感覺想一想,當你買了一張票,那麼整個鐵路系統上千張票的相關站點的所有信息全部需要動態更新,然後通知給所有的訪問者,你覺得在那麼短短的幾秒幾分鐘,怎麼做得更好?這只是你這一條線路,別的線路也要更新,不從技術角度解決,就從常識,你能想出什麼好辦法?給我一小時,啥事都沒,問題是你能買個票等一小時?(這票還不一定是你的。)
技術也是有局限性啊!
------------------------------------------------------------------------
再多說幾句,都不知道為什麼莫名的罵12306這個網站,這個網站自己不能產生一張火車票啊!他再怎麼流暢不卡,秒刷新,問題是春運這種時候票就是供不應求,怨網站沒用啊。平時不是好好的,票什麼的都很容易。總不能為了這麼幾天用戶體驗,真的斥巨資搞的一點不卡(先不說可不可行),到時候又要有人站出來罵揮霍公款了。真難伺候。所以我覺得要麼就是有人誤導廣大無知的P民,要麼就是真的是P民智商捉及啊。


可以理解,但不是情有可原。
如果一項技術尚不成熟,那麼執意要用此項技術來製作產品,那麼受到使用者的批評是理所當然的。此外,即使12306確實遇到了技術上的難題,這也只能說有一定的挑戰性,而並非證明了技術上不可實現——這是有著本質不同的。對於後者,我可以充分的同情12306;但對於前者,我只能認為12306沒有真正用心去做(聯繫12306那不太靠譜的根證書我不得不如此認定)。

「就算是把淘寶團隊,IBM,亞馬遜團隊搞來,也不一定搞的比現在好多少。」就我目前搜集到資料來看,只能認為這是臆測,希望提出這句話的人可以提供來源。


12306做的剛剛有點起色,也就百米賽跑邁出了前幾步而已,就冒出來這麼多各種借口,各種撒嬌,各種炫耀。


除去春節高峰不說,你不得不承認平常的時候12306還是挺好用的。
我覺得這個問題的本質根本就不是12306的問題。 打個比方,你去包子店買包子,數量就500個,口味各不相同,然後販賣窗口卻有1000個,同時開賣,每人每次限購一個,每個窗口都有服務員。現在你要求服務員接待你時要笑臉迎人,你問他有啥餡時要對答如流,取包子的時候要輕拿輕放,準確迅速。可最大的問題是,他沒那麼多包子賣你啊。。。
說白了,鐵老大手裡的票就那麼多,12306隻是個前端銷售界面,他本身並不生成票,庫存就那麼多,搶的人卻是庫存的N倍。
這個時候我不得不再舉一個栗子,某粗糧手機,發售模式跟這個有啥區別呢?但是大家都指責雷布斯是在飢餓營銷,庫存就那麼一丁點,還虛張聲勢大言不慚賣了多少多少。為啥到了12306就指責是這個前端銷售界面有問題了呢。
要記住,12306本身並不具生產票的能力,他充其量只是個銷售。掌握票生成能力的是後面的鐵道部。
所以,綜上,我覺得還是情有可原的。
我一直認為,在中國,凡是要靠『搶』才能買到的東西,除了『關係』以外,唯一的影響因素就是『運氣』。


你們想要一個會崩潰的網站還是1秒鐘票全部售完流暢的網站?

我相信在技術上12306能做的更好,可是這就解決問題了嗎? 當人們指責12306的時候真的是覺得網站癱瘓影響了他們的用戶體驗了嗎? 不,他們是罵網站癱瘓引起的買不到票

假設12306請到了淘寶的團隊做了一個瞬間能處理上億次訂單無比流暢的網站,那也能讓所有的票短時間內全部售罄。 該買不到票的還是買不到票,人們還會罵的更凶:

「媽的,票12點開始賣老子就去上了個廁所才12點01票就全賣光了! 狗屁的鐵路部,一定有黑幕!"

"跟你講啊,今天火車站售票處被砸啦!砸的好啊! 排了3天隊了,好不容易等到售票處開門那個鐵道部的傻逼說沒票了,去哪的都沒了! 連排在第一位的人都沒買到,說什麼票全被網上的人買光了。 狗屁!肯定是被當成內部票了。 這群貪污受賄的狗官,要是毛主席在世的你們全得槍斃!"

"朋友們,你們還在為回不了家而煩惱嗎? 來團圓火車票網訂票吧! 只要輸入您的身份證號,車次和100%車費的手續費就能搶到票啦,搶不到全額退款!"
.......

結論:網站卡不是問題,運力不足才是根本問題


從技術層面上講,確實沒有做好,一幫子人搞了好幾年花了那麼多錢,票買不到情有可原,因為運力不足,但是畢竟每年90%以上的人還是回家了,你網站起碼不宕機,演算法其實還能再優化好一點,在一定程度上還是能夠合理調配資源的。

技術問題其實只要想解決總歸都能夠解決,大不了換一撥人來搞,網站其實只是為傳統的業務邏輯服務的,而在傳統的業務邏輯中,很多問題是無法僅僅搞技術來解決的,所以這個網站的主導者必須有一定的實權,才有可能去觸碰一些利益鏈條。


推薦閱讀:

王尼瑪是王思聰嗎?
用戶價值與用戶體驗哪個重要?
互聯網產品有哪些常見的用戶激勵機制?
有錢買蘋果但選擇用 Android 的人是什麼樣的?
什麼叫做用互聯網思路做產品?

TAG:互聯網產品 | 計算機網路 | 12306中國鐵路客戶服務中心 |