12306网站为什么不外包给淘宝做,转知乎上一篇文章

  • w
    wenhan1026
    12306 为什么不外包给淘宝做?

    知乎用户
    12306 首秀被骂的狗血喷头后铁道部找来 IBM、阿里巴巴等大企业要解决方案,给出的条件是资金管够但是问题得解决。几大企业最后都拒绝了。12306 开始自己尝试解决问题。他们发现市面上可以买到的成套解决方案都不足以应付春运购票负载,所以只能自己改进已有的数据库。以前 12306 用的是小型机,发现性能严重不足,遂改用 x86 系统 +Linux 平台。最后他们的核心系统用了十几个节点的多路 Xeon E7,每个节点配 1TB 内存,数据库全部在内存中运行。2013 年春运,12306 系统峰值负载 11 万 tps,与 2012 年淘宝双 11 活动峰值负载相当,新的系统基本经受住了考验。

    淘宝的问题是其系统架构是分散度较高的,各个订单之间关联度不大;而 12306 每出一张票都要对全线路做数据更新(因为一条线路存在多个站点),因此系统负载相较淘宝来说集中很多,直接搬淘宝的方案也无法解决问题。淘宝的应用类型决定了阿里巴巴可以通过部署大量的服务器来分散压力,但 12306 就不行。其实他们的核心系统的硬件成本不过数百万,不是他们不想采购更多服务器,而是买更多的服务器也没什么用途。最后,在经过软件层面的优化之后,12306 的瓶颈其实是核心节点的 CPU、内存性能。但是这个性能的提升不是朝夕的事情,而是受限于摩尔定律,基本上每两年才能翻一倍多些。

    然后我说点对铁路系统购票困难现象的看法:

    一种商品只要出现供不应求现象,那么结果只有两种:大家排队购买;出现黑市,变相提高商品的流通价格并抑制需求。

    12306 这个事情,就是标准的供不应求之后出现排队与黑市现象的例子。因为供不应求,所以有了黄牛、抢票软件与秒杀。如果供应充足,一个车次直到发车前都有一两张余票,那么黄牛、抢票就毫无存在价值,旅客也用不着守在电脑前和其他人比拼手速和网速以及电脑性能网络性能了。

    现在供应不足的前提下,12306 就算把系统做的性能再高,也只是会加快热门车次票务秒杀的速度而已——而这更会刺激抢票软件,大家为了在更短的时间里成功抢到队列名额就会不断提升自己的抢票性能。打个比方说就是一个店门前排队,消费者为了增加买到商品的概率去雇人代排,每个消费者都雇了好多人,造成店门口的通道拥挤不堪。为了减缓拥堵,商家不断拓宽通道,但每次一拓宽消费者们就会增加雇佣的排队劳力把新增的通道空间占满,形成恶性循环。这样下去,只要还存在供不应求的现象,这种循环就不会有终止的时候。也就是说,12306 的问题主要不是出在网站本身。

    那么怎样解决供应不足的问题?这么多年来铁路不断升级运力修建新线,已经建成全球最庞大的铁路运输系统,可是到了春运还是只能勉强应付。从这个角度来说铁路部门在供应不足的问题上也不该承担太大责任,他们已经做得很不错了。

    那么问题的根源就出在不断增加的需求上了。为什么我国铁路系统需要承担如此庞大的客运流量需求?很显然,是因为全国范围的人口流动。大量务工上学人员过节要返乡,节后回驻地,这个刚性需求是合理的。可是为什么他们必须要到外地去打工上学?为什么数以亿计的人员要远离家乡去谋生求学?

    最后我们会发现,区域发展不平衡才是罪魁祸首。正因为多少人在家乡无法得到足够的机会与资源,他们必须到发达地区奋斗和实现自己的价值。只要这种不平衡现象还在继续,每年春节前后就不可避免地出现大批人员全国范围流动的情况,就不可避免地出现运输能力不足的尴尬。改进 12306 也好,增加铁路网投资也好,最终都只是治标不治本。如果这个社会不去直面根本问题,那么这些表象的症结永无解开的时候。

    说起来,有几个人愿意背井离乡呢?
  • 天天吃白菜
    这个问题,话说美国也无解啊。
  • 自干五
    淘宝能做个屁 淘宝做购物车在行 它还能凭空变出火车票来? 12306的根本问题不是网站而是热门线路压根就没那么多的票
  • 水煮青蛙
    现在民众普遍认为火车站私自留了一半以上的火车票 什么时候这种智商的人少了 火车票就好买了
  • 神奇
    总结就是又回到了原罪,tgbxs。。。。。。。
  • 八碗茶
    提前半年买票,买票摇号,
  • w
    wenhan1026
    就是12306上线之前的几年,火车站能私留的车票也仅限于乘务员车厢空出的几张票,再往前推10年情况就不好说了,但是一半以上过于夸张
  • l
    lyt777
    前两年那些疯狂黑12306用3亿的人现在不知道做何感想。
  • l
    limited
    想想其实也有道理
    过年回家对中国人来说太重要了

    很遗憾这个问题暂时无解了
  • 加藤鹰
    区域发展不平衡还不是因为权力集中的体制。。。

    网上做不好是因为铁路售票系统这个内部系统本身就是个渣渣,涉及利益太多,铁道部又不高兴全推倒重来,搞个12306只是挂在这个系统上,能做好就有鬼了。
  • a
    asj
    以我十来年买热门线路春运车票的经验,在实名制以前,无论多么难买的年头,加钱都能从黄牛手里买到。只不过托到靠谱的人可以基本不加钱,实在没办法去车站现找,可能要掏翻倍的价钱。
    实名制后黄牛是怎么操作的还没见过,但是知道还是有黄牛倒票的。

    所以不论是火车站,还是火车系统内的某些人勾结黄牛,还是黄牛自己钻漏洞。总之是有人截留车票的,供应紧张并不完全是因为都被真正需要的人买完了导致的。
  • w
    wenhan1026
    你大概没看文章内容,12306首秀失败后有进行了一次招标,众望所归的IBM、阿里等也没敢接下来
  • h
    hellblack
    车少人多是根结

    只要能买到票,我管你404还是502几次呢

    12306其实就是来背黑锅的
  • 水煮青蛙
    那只能是黄牛 铁路内部现在已经很难了 我买票都得自己网上订了
  • B
    BBchannel
    关于留票的

    就我所知 铁路每年都要为各级政府办公厅预留部分批次的卧铺/软座
    当然 县镇之类的基本没这个特权 市/省都是有的
    票源会统一给市长办公室或者机关事务局之类的单位
    够级别的干部需要为亲戚朋友拿票的时候,跟秘书长或副秘书长之类的打个招呼就能拿票了

    至少我读书的时候 从没为买票担心过
    当然这些年钱多了需要拿票的大幅度减少 很多都改飞机了
  • 加藤鹰
    就用到了小型机就大言不惭的说硬件跟不上。。。
  • O
    OpEth
    俺觉得应该竞买,价高者得,这才公平,俺老婆怕坐飞机,想买火车票回家,结果死活买不着,黄牛又怕买到假票,最后还是只能硬着头皮坐飞机。。。。。

    如果有竞买制度就没问题了。。。。。
  • 加藤鹰
    要求高,钱太少而已
  • o
    orz2009
    为毛要回家过年 回家过年连春晚也不看 早早洗澡吃饭 最多打两局牌 睡觉

    难道都是宝格丽天空下的home party?这么HI。
  • 水煮青蛙
    你行你上呗 倒逼半天还是TGBXS
  • w
    wefan
    不是码农,但是有一种可能,12306的工程师设计的算法不对。。。“每出一张票都要对全线路做数据更新”,“数据库全部在内存中运行”这些可能都是通过改进算法得到解决的。这么多抢票漏洞+第一版网站的假根证书,我非常怀疑12306工程师的智商。。。
  • M
    Mas
    “最后他们的核心系统用了十几个节点的多路 Xeon E7,每个节点配 1TB 内存,数据库全部在内存中运行。”
    怪不得内存价格迟迟下不来……
  • v
    vany
    这种情况随着城镇化的脚步是根本没有环节的趋势,反而越来越严重。
  • 城里的月光
    杠神你这就没意思了
    你因为老婆不愿意坐飞机就支持竞价
    这算屁股决定脑袋吗?
  • f
    f90v
    除了留票,有些半程票也会留,比如从长沙到北京,经停武汉,有个人买了长沙武汉段的卧铺票,那此席位武汉至北京段也就无法购买了
  • 鬼冢英吉
    喷了,抢不到票跟12306网站就没关系
  • h
    handsomeken
    请问全世界哪个国家不是这样集中在大城市的?
  • w
    wsldu
    果然是每个人都只从对自己有利的角度出发啊
    真出了这样的制度,会不会被喷死?
    穷人还不能坐车了?
  • 加藤鹰
    12306的问题以前早就说过了,说白了就是软件设计不行,硬件就靠堆服务器,堆服务器水平还不高。。。
  • s
    sunzhensz
    我看一个人说过,我觉得很有道理。
    招标给央企,出事了也没啥。都是自己人
    招标给外企私企,出了事情,铁道部自己担着吧
  • O
    OpEth
    反正就那么多张票,总有人抢不到,难道网站抢票就公平了?加价竞买至少可以完全杜绝黄牛。。。。。
  • h
    hellblack
    看文章是钱管够啊……
  • 刘泪
    堆性能没用的,it民工们能不能不要三句话不离本行,把脑瓜子从算法和io上拿开?
    就算访问流畅无比,10000个人抢1000张票,你觉得是什么结果?你来设计一种算法让剩下的9000个人买到票,你要是能拿算法解决这问题,我觉得铁道部肯定会让你可以每天不用划胖就俯视论坛众两千万。

    [本帖最后由 刘泪 于 2014-1-9 11:07 编辑]
  • w
    wenhan1026
    喷了,你到底看没就瞎说,都说钱给够了
  • 加藤鹰
    而当年咨询机构曾向铁道部提出网上售票系统的两个解决方案,也均未被采纳。

    “当初IBM的成熟方案报价太高,12306走自主研发的路子,没想到现在搞成这样。”这位知情人士感叹。
  • l
    lyt777
    就这用了3亿已经有一堆人骂娘了不是。
  • 自干五
    12306首页就基本上算大半个静态页面了 这还没进到抢票流程 都爆了好几次 别看他前台烂 后面的机器可不差 所以绝对的数据压力面前再好的算法也没用
  • 加藤鹰
    这文章作者说说而已。。。
  • l
    leyoung
    以我们单位前几年参与春运时和火车站的接触来看,一半绝对是夸张了,但是15%-20%还是有的
    你不知道的,不能怪智商
  • 水煮青蛙
    自己不知道揣测留一半的

    [本帖最后由 水煮青蛙 于 2014-1-9 11:16 编辑]
  • 加藤鹰
    主要还是高估了自己的能力,办事总是想办好的。
  • 刘泪
    你这属于头痛医脚的典型。老百姓头痛的不是黄牛,而是买不到票。

    现在这个点如果有个靠谱的黄牛主动跳到你面前,大部分人的反应是抱大腿你信不信?
  • 野生的任豚
    我觉得挺好,网上买票12306已经是进步
    现在没有12306,你还不是一样买不到票
    还得去车站售票处挤得头破血流
  • l
    lostcup
    管够个毛,管够肯定又要被P民喷死了,银行那种超高交易量和IO吞吐的系统都是IBM搭出来的,动不动几十个亿的价格铁道部能管够才有鬼了
  • S
    Shin
    这跟首秀失败后,找IBM、阿里巴巴要解决方案资金管够没一点冲突
  • c
    cfqxd
    12306就是背黑锅的本质就是春节期间超常的流量,尤其是从几个大城市往河南,四川,湖北,湖南,贵州,安徽等几个省,那火车就是没那么座,你要是按照春节流量准备,那得浪费大量的车皮和铁路资源,因为平时根本没这么多人。吐槽12306系统硬件架构的人可以一边歇着去了,不是说大型机就一定快,要实现的功能不能完全通过并行化解决,再多的节点也没用。更何况,就算你网站一点不卡又怎样?就没那么多车票
  • 刘泪
    另外,吹IBM和淘宝的你们忘了IBM的成熟方案的应用者苏宁易购了么