论坛首页 Java企业应用论坛

批判下最近关于12306架构方案的“排队思路”

浏览 32684 次
精华帖 (6) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (15)
作者 正文
   发表时间:2012-01-13  
情已逝 写道
ahyyxx222 写道
情已逝 写道
又不是一次只能一个人进去选票吗,
又不是所有的人都要选很久。

从实际看来车票基本上出来就在半个小时基本卖完了,也就是说最多排半个小时就轮到了。
其实能在半个小时内把车票卖完说明12306的负载基本满足需求


请结合我所说的两种情景来实际讨论,你这样回复跟“淘宝那么高的并发都能卖,12306为什么不能”性质差不多,实际绕开了卖票的场景。
你的思路是,如果全国的售票窗口增加3倍,那10分钟就能卖完?增加10倍,3分钟就能结束卖票?



一年就那么几天,铁路系统为什么需要淘宝那么高的并发?

不错,铁路系统不需要那么高并发来应付这几天,如果真是30分钟就会售完的情况下还要挤进网络售票,那不是人为在30分钟内制造了更多并发吗?只有降并发,拉长售票时间,才是排队。那这一拉就不是半小时的事了,我讨论的就是这排队怎么排
0 请登录后投票
   发表时间:2012-01-13   最后修改:2012-01-13
情已逝 写道
ahyyxx222 写道
yanyilin224 写道
第一条,排到一半没票了谁说就要重新领小票?你可以继续排到窗口去问别的车,就算是真在车站买票你排到一半没票了那也只能认了不是吗?
第二条,排到之后还有票,给你30分钟去操作,如果系统不卡的话30分钟之内还下不了单那请您还是电话购票或者现场买票吧,本网站不是为您准备的


我原贴说了,如果排到窗口再问别的车,领小票就没有意义了,实际就变成了第二种方案。
第二条,你给他30分钟,那排在他后面的人多久才能进来啊?如果不是一个个放,而是批量放,那又回到了争夺思路,这不是我要讨论的。我只是来批判排队方案的


哦,我的方案是先拿号再选票。用户在等待的时候可以查余票,没了可以直接弃号


嗯,中途弃号是可以,就更相信系统一点,还能中途换号,这样一路换号到窗口前,如果什么票都没了,自己退出队列。
不过这个是非常可怕的查询量,可以想象100万排队的人不停地刷查询,还得是动态的,因为要做到中途准确弃号,换号,不可能使用缓存。还是非常高的查询并发。这样分库的同步又是一大难题。
给技术造成的压力不亚于争夺,排队作用就不大了,排队本来是为了减轻请求压力
0 请登录后投票
   发表时间:2012-01-13  
叫号这个简单的,处理跟拿验证码差不多。
0 请登录后投票
   发表时间:2012-01-13   最后修改:2012-01-13
高考时不是可以填好几个志愿的吗?排队时就可以填好几个志愿啊。

排队时拿小票,然后可以从所有的静态列车表里选车次,可以多选几个,可以慢慢选,可以主动让后面的人先买。轮到自己时,系统可以从你选的志愿里依次检查是否有票,是否“退而求其次”,当然也可以放弃购票。

谁说排队时选票,就一定让你买到这个票啊!排队只是为了降低核心系统的压力,保证可以顺畅处理大家的购票请求。

退票请求优先处理,直接插队到最前边,这样刚排队时明明没有的票,排到窗口前也是可能买到的。

限制在窗口前的每个小票的处理时间,搞来搞去完不成选票,或者来不及付款的,当作失败交易!直接重新排队去!


也可以让潜在的购票者先把期望的票单填好,然后再去排队,排队以后预选单不可更改,唯一能做的就是放弃排队直接退出,这样填预选单的机器可以动态扩容的(甚至委托给现有的互联网门户网站都可以,新浪、网易、腾讯、淘宝等都可以参与合作的,利用现有资源不是更好吗,我相信,这些媒体很愿意参与一下的,我的PC机ADSL拨号上网也愿意为大家服务),预选单需要数字签名,交给各合作商完成。核心系统仅仅处理剩下这点事肯定没有问题的,毕竟年年春运都在这么卖票的。
0 请登录后投票
   发表时间:2012-01-13  
niko7 写道
高考时不是可以填好几个志愿的吗?排队时就可以填好几个志愿啊。

排队时拿小票,然后可以从所有的静态列车表里选车次,可以多选几个,可以慢慢选,可以主动让后面的人先买。轮到自己时,系统可以从你选的志愿里依次检查是否有票,是否“退而求其次”,当然也可以放弃购票。

谁说排队时选票,就一定让你买到这个票啊!排队只是为了降低核心系统的压力,保证可以顺畅处理大家的购票请求。

退票请求优先处理,直接插队到最前边,这样刚排队时明明没有的票,排到窗口前也是可能买到的。

限制在窗口前的每个小票的处理时间,搞来搞去完不成选票,或者来不及付款的,当作失败交易!直接重新排队去!


嗯,甚至可以针对每个车次排号
0 请登录后投票
   发表时间:2012-01-13   最后修改:2012-01-13
niko7 写道
高考时不是可以填好几个志愿的吗?排队时就可以填好几个志愿啊。

排队时拿小票,然后可以从所有的静态列车表里选车次,可以多选几个,可以慢慢选,可以主动让后面的人先买。轮到自己时,系统可以从你选的志愿里依次检查是否有票,是否“退而求其次”,当然也可以放弃购票。

谁说排队时选票,就一定让你买到这个票啊!排队只是为了降低核心系统的压力,保证可以顺畅处理大家的购票请求。

退票请求优先处理,直接插队到最前边,这样刚排队时明明没有的票,排到窗口前也是可能买到的。

限制在窗口前的每个小票的处理时间,搞来搞去完不成选票,或者来不及付款的,当作失败交易!直接重新排队去!


也可以让潜在的购票者先把期望的票单填好,然后再去排队,排队以后预选单不可更改,唯一能做的就是放弃排队直接退出,这样填预选单的机器可以动态扩容的(甚至委托给现有的互联网门户网站都可以,新浪、网易、腾讯、淘宝等都可以参与合作的,利用现有资源不是更好吗,我相信,这些媒体很愿意参与一下的,我的PC机ADSL拨号上网也愿意为大家服务),预选单需要数字签名,交给各合作商完成。核心系统仅仅处理剩下这点事肯定没有问题的,毕竟年年春运都在这么卖票的。


全套细化地照搬窗口是可以的,那样的后果就是网站上的队伍前进速度和现场排队接近。
但要视铁道部现有系统的并发能力来决定在网上再开多少个队,要注意在线窗口和现场窗口都会给现有系统造成压力的,要是现有系统真的那么NB开多少窗口都能处理,那网站就真没什么可做的了。
那在网上再开多少队来排就要斟酌了,开多了,系统照垮,开少了,队伍太长。网上卖票就被搞成了加开售票窗口,效果未知
0 请登录后投票
   发表时间:2012-01-13  
网上自助选票,可以慢慢的选,菜单是静态的,和余票没有关系,有没有票是购票时才知道的,除了黄牛,每个人想要的不是车次A就是车次B,那么几个而已。

所以,这个点票机很简单,弄个html加js就能搞定,很容易根据实际情况来扩展,实在顶不住了,马上买几台机器插根网线就上线服务了!各大门户网站,只要拿到签发的授权证书,立马就可以参与服务。

排队是降低核心系统压力的必须方法,外围可以瘫痪,可以替换,可以请求支援,但是核心系统没难么容易,千万不能跨,核心资源也不能被占用,这单处理不了就放弃,不能被占用。核心系统自己掌握主动权。

就是和现实窗口一样的模型,计算机处理订单的速度比在窗口喊话快不知多少倍!

如果排队时是带了现金的话(可以预先付款的话),提交订单后你可以玩游戏了,等着手机上的短信就可以了,结果无非就是:你购了A票,或者B票,或者购票失败!

临界资源被占用是目前最大的问题。


ahyyxx222 写道
niko7 写道
高考时不是可以填好几个志愿的吗?排队时就可以填好几个志愿啊。

排队时拿小票,然后可以从所有的静态列车表里选车次,可以多选几个,可以慢慢选,可以主动让后面的人先买。轮到自己时,系统可以从你选的志愿里依次检查是否有票,是否“退而求其次”,当然也可以放弃购票。

谁说排队时选票,就一定让你买到这个票啊!排队只是为了降低核心系统的压力,保证可以顺畅处理大家的购票请求。

退票请求优先处理,直接插队到最前边,这样刚排队时明明没有的票,排到窗口前也是可能买到的。

限制在窗口前的每个小票的处理时间,搞来搞去完不成选票,或者来不及付款的,当作失败交易!直接重新排队去!


也可以让潜在的购票者先把期望的票单填好,然后再去排队,排队以后预选单不可更改,唯一能做的就是放弃排队直接退出,这样填预选单的机器可以动态扩容的(甚至委托给现有的互联网门户网站都可以,新浪、网易、腾讯、淘宝等都可以参与合作的,利用现有资源不是更好吗,我相信,这些媒体很愿意参与一下的,我的PC机ADSL拨号上网也愿意为大家服务),预选单需要数字签名,交给各合作商完成。核心系统仅仅处理剩下这点事肯定没有问题的,毕竟年年春运都在这么卖票的。


全套细化地照搬窗口是可以的,那样的后果就是网站上的队伍前进速度和现场排队接近。
但要视铁道部现有系统的并发能力来决定在网上再开多少个队,要注意在线窗口和现场窗口都会给现有系统造成压力的,要是现有系统真的那么NB开多少窗口都能处理,那网站就真没什么可做的了。
那在网上再开多少队来排就要斟酌了,开多了,系统照垮,开少了,队伍太长。网上卖票就被搞成了加开售票窗口,效果未知

0 请登录后投票
   发表时间:2012-01-13  
情已逝 写道
ahyyxx222 写道
情已逝 写道
又不是一次只能一个人进去选票吗,
又不是所有的人都要选很久。

从实际看来车票基本上出来就在半个小时基本卖完了,也就是说最多排半个小时就轮到了。
其实能在半个小时内把车票卖完说明12306的负载基本满足需求


请结合我所说的两种情景来实际讨论,你这样回复跟“淘宝那么高的并发都能卖,12306为什么不能”性质差不多,实际绕开了卖票的场景。
你的思路是,如果全国的售票窗口增加3倍,那10分钟就能卖完?增加10倍,3分钟就能结束卖票?



一年就那么几天,铁路系统为什么需要淘宝那么高的并发?

如果不是为了这么几天,那么需要这个系统干嘛?平常时到窗口买会没票吗?
0 请登录后投票
   发表时间:2012-01-13  
zui4yi1 写道
如果不是为了这么几天,那么需要这个系统干嘛?平常时到窗口买会没票吗?


票数量一定,怎么样都会有人买不到票。

排对的意义在于可以缓解中心系统的压力,需要等一段时间才买到票,这个是可以接受的。
无论如何都保证不了人人有票
0 请登录后投票
   发表时间:2012-01-13  
zui4yi1 写道
情已逝 写道
ahyyxx222 写道
情已逝 写道
又不是一次只能一个人进去选票吗,
又不是所有的人都要选很久。

从实际看来车票基本上出来就在半个小时基本卖完了,也就是说最多排半个小时就轮到了。
其实能在半个小时内把车票卖完说明12306的负载基本满足需求


请结合我所说的两种情景来实际讨论,你这样回复跟“淘宝那么高的并发都能卖,12306为什么不能”性质差不多,实际绕开了卖票的场景。
你的思路是,如果全国的售票窗口增加3倍,那10分钟就能卖完?增加10倍,3分钟就能结束卖票?



一年就那么几天,铁路系统为什么需要淘宝那么高的并发?

如果不是为了这么几天,那么需要这个系统干嘛?平常时到窗口买会没票吗?


我认为不是为了春运才做这个系统的,更是为了网络化售票,而春运,只不过是赶上了。春运只不过是把问题聚焦,并且放大了。春运是个很敏感的词。

春运有那么多人,难道真的按照春运的需求去见铁路吗?平时没有人坐,铁路躺那里晒太阳,长锈吗?

对于网络售火车票,我认为,只要能平稳有序的把票卖出去,就可以了。不能要求全国人民一起上来买票,然后一瞬间平稳有序的卖出去。
让大家排队等等是可以理解的。
只不过,搞出那么多事,就真的离谱了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics