12306 鸡蛋不能放一个篮子里

“============下面是网上发的,说12306多不容易,的确不容易!=========”标记的下面估计是一技术出来替12306打抱不平的文章,不知道他们是怎么个关系,但多少用脑子解决好吗!你把需求跟求救商说明了吗?这文章感觉就是赤裸裸的借口, (我所理解的)!

节前假日的确12306会被拥堵,我也相信你说的,12306单靠增加机器,提高部分性能是不足以抗拒,可是原因找到了吗你们,找原因要找根啊,不然怎么解决问题。

一、先拿黄牛还有刷票软件来说!

你可以增加验证码难度,哪怕你使用现在最流行图片内找出什么颜色文字这种验证码呢,这样难度还会那么容易被软件识别吗?(还能收点广告费“谁会在这头广告,傻吗这不是”),这样多多少少可以抵抗一层,验证码其实可以无规则显示(是不同的显示效果),不可能控制不了软件和黄牛刷的。

二、服务器处理不过来每个节点?

说一分钟一秒钟多少万个处理,服务器忙不过来!(我所了解火车票与火车票在购买的时候应该没有必要联系
其实解决办法也不是没有,火车票多数来讲,热门A车次与热门B车次是没有购票上的关联的,总之我没见过可以一下子连转程票一起出来的车票!所以这样购票压力大处理不过来的问题不就知道了,多台服务器对应一个热门车次,而冷门人少的地方车次使用一台或几台对应多车次。这样性能压力不就分布了。以前比如1000台处理全国车次购票,电脑性能慢搞不过来,那50台处理热门车次A,20台处理热门B。主要是每个车次火车票在12306购买时并没有必要联系,这样怎么还处理不过来吗!
一些车次发票时间不同,那这样的话不就还可以更节省服务器个数吗!比如A热门车次早上10点放票,那在出现等之后处理A车次的那台服务器在用做处理某些车次,何乐而不为呢

有些不需要放一起的非要一起放,一颗老鼠屎不一定把一锅粥的美味覆盖掉,但一堆老鼠屎的确轻而易举可以破坏一锅粥的美感及味感。

要学会“鸡蛋不能放一个篮子里

 

============下面是网上发的,说12306多不容易,的确不容易!====================
12306首秀被骂的狗血喷头后铁道部找来IBM、阿里巴巴等大企业要解决方案,给出的条件是资金管够但是问题得解决。几大企业最后都拒绝了。12306开始自己尝试解决问题。他们发现市面上可以买到的成套解决方案都不足以应付春运购票负载,所以只能自己改进已有的数据库(注:其实是改用VMware SQLFire/GemFire,这里我之前理解错误)。以前12306用的是小型机,发现性能严重不足,遂改用x86系统+linux平台(原平台为HP Superdome小型机,UNIX系统,Sybase ASE数据库)。最后他们的核心系统用了十几个节点(现在应该是17节点)的多路Xeon E7(具体几路待考),每个节点配1TB内存,数据库全部在内存中运行。2013年春运,12306系统峰值负载11万tps,与2012年淘宝双11活动峰值负载相当,新的系统基本经受住了考验。

补充:以上内容是我在2013年7月得知的信息,彼时没有任何公开来源提到过12306新系统的技术细节。甚至,当时局外人没人知道12306已经在2012年开始做了技术改造。直到数日之前,铁总首次向媒体公开了技术改造的详情:分布式集群内存数据技术引领12306技术革命。这篇文章给出的细节,与我之前看到的内容完全一致。由此我可以确信信息来源是此次技术升级的核心人士。
另外,关于第三方合作对方给出的信息是IBM、Oracle、Sybase全部不能满足要求,主要是这些厂商的方案部署以后,要升级时不能做到不停机灵活扩展。也就是说,IBM没有做到是他们技术不足“搞不定”。阿里巴巴参与了改造,负责了排队系统。此外,虽然后端经受住了压力,前端却如大家所看到的那样还是频频卡死。到底卡死的原因是前端水平太低还是访问压力太大,暂时没有可靠的信息供判断。

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

补充:关于座位实时复用,我看到的信息明确表明12306出票时,每出一张区间票都要实时调整该线路其他受影响区间段的余票数量,且这是很大的压力来源;另外,对方表示所使用的GemFire数据库与简单的memcache/redis数据缓冲不同,有着本质区别。
==========================
然后我说点对铁路系统购票困难现象的看法:
一种商品只要出现供不应求现象,那么结果只有两种:大家排队购买;出现黑市,变相提高商品的流通价格并抑制需求。

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

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

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

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

- THE END -
版权声明:
转载原创文章请注明,文章出处:http://kinggoo.com
原文地址:http://kinggoo.com/12306kill-9.htm
发表评论?

0 条评论。

发表评论