论坛首页 Java企业应用论坛

如果让你设计铁道部购票网站,你怎么做

浏览 27272 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-01-12  
zmcsut 写道
linliangyi2007 写道
zmcsut 写道
我用自动登录买的票,但我不是黄牛。
屏蔽刷票次数?多少秒登录一次算刷票?哪怕10秒登一次也比人工来的舒服,可靠。
治标不治本的东西?


你没看我的回帖么,还问多少秒,都说了跟时间无关!!

我屏蔽的是你的CPU ID,从同一CPU发出的请求,明白么。还有IP,还有网卡物理地址,这些都可以作为判断依据!!

人工需不需要多次尝试登录?
我就不明白CPU ID 能判断是人还是软件或者是狗在操作。


什么逻辑啊,我说什么你说什么啊!

CPU ID跟判断谁操作有关系么?!
一个ID能证明来至一台机器的请求,如果同一台机器在1秒内提出相同的1000次请求,我可以忽略后面提交的999次,这样队列中,你的请求就只有1次,跟其他正常用户的请求是平等的。我并不关心这个请求是人操作还是狗操作,听懂没!!

跟你这种只顾反驳别人而不认真看技术问题的人讨论,真累!
0 请登录后投票
   发表时间:2012-01-12  
我永远不会试图去战胜一个纯傻逼,因为他会把我的智商拖到跟他一个水平,然后再用他丰富的经验打败我!
-----------------------
刚看到的一句话,呵呵,挺适合此贴的。
0 请登录后投票
   发表时间:2012-01-12  
linliangyi2007 写道
嗨,这个系统设计的确实有问题!

有很多不该出的毛病都出。

流量大造成系统繁忙可以理解,但是各种没响应,还有交了钱没订到票,这个完全可以避免的。

总之,大家看不上它,是有原因的。


30分钟不交钱就把车票返回可售车票池,估计也是根据需求订出来的,不会无缘无故这样做的

原因可能就是防止有人占坑,只要订到20号的票,就把16号的票退了,导致16号想走的人买不到16号的票

既然这样,那如何防止“交了钱没订到票”事情的发生呢?
0 请登录后投票
   发表时间:2012-01-12  
linliangyi2007 写道
zmcsut 写道
linliangyi2007 写道
zmcsut 写道
我用自动登录买的票,但我不是黄牛。
屏蔽刷票次数?多少秒登录一次算刷票?哪怕10秒登一次也比人工来的舒服,可靠。
治标不治本的东西?


你没看我的回帖么,还问多少秒,都说了跟时间无关!!

我屏蔽的是你的CPU ID,从同一CPU发出的请求,明白么。还有IP,还有网卡物理地址,这些都可以作为判断依据!!

人工需不需要多次尝试登录?
我就不明白CPU ID 能判断是人还是软件或者是狗在操作。


什么逻辑啊,我说什么你说什么啊!

CPU ID跟判断谁操作有关系么?!
一个ID能证明来至一台机器的请求,如果同一台机器在1秒内提出相同的1000次请求,我可以忽略后面提交的999次,这样队列中,你的请求就只有1次,跟其他正常用户的请求是平等的。我并不关心这个请求是人操作还是狗操作,听懂没!!

跟你这种只顾反驳别人而不认真看技术问题的人讨论,真累!

摆脱你用过自动订票软件再发言,登陆间隔可以自行设置.
假如6点开始可以登陆,实际鬼知道这系统会延迟多少分钟.
一边是机器5点50分开始每10秒一次尝试自动登陆,另一边人工6点开始尝试登陆。
你认为谁的几率更大。
人工登陆后还得不停点查询,保证session不失效,否则可排不上队了。
这样的话,还不如不排队,8点来碰运气。
你这也叫技术?在一个本来就够狗屎的网站上加更多的狗屎。
0 请登录后投票
   发表时间:2012-01-12  
weifly 写道
linliangyi2007 写道
嗨,这个系统设计的确实有问题!

有很多不该出的毛病都出。

流量大造成系统繁忙可以理解,但是各种没响应,还有交了钱没订到票,这个完全可以避免的。

总之,大家看不上它,是有原因的。


30分钟不交钱就把车票返回可售车票池,估计也是根据需求订出来的,不会无缘无故这样做的

原因可能就是防止有人占坑,只要订到20号的票,就把16号的票退了,导致16号想走的人买不到16号的票

既然这样,那如何防止“交了钱没订到票”事情的发生呢?


问题是现在这系统能保证30分钟一定能支付成功吗?
改成一天难道会死吗?
晚上12点到6点,不让人订票,难道就不能让人支付吗?
0 请登录后投票
   发表时间:2012-01-12  
vtrtbb 写道
说实话,铁路系统基本都挺复杂。

有的系统可不像秒杀不到东西这么简单,弄不好就是重大事故。

不可能有重大事故的,网厅渠道票务肯定与实体渠道分离的,否则12306网站的巨大访问量冲垮了实体渠道就麻烦了。
0 请登录后投票
   发表时间:2012-01-12  
zmcsut 写道
linliangyi2007 写道
光顾着抱怨,有点跑题了。下面言归正传,让我们从系统设计角度来看看要如何设计流量如此之大的东东。

本人觉得系统架构的关键要有3大部分

1.排队等待子系统
  
  如此大的并发量不是简单的群集能承受的,因此,系统需要一个缓冲区,就好比在窗口面前排队一样,在进入订票流程前,应该有个排队处理系统,简单的页面,让电脑面前的用户知道自己的请求已经提交,系统慢,大概还需要几分钟才能受理你的订票请求。

  如果大家玩过wow,下过魔兽的副本,就知道有个副本排队系统了,这样也一样。
  此系统需要大量的HTTP前端服务器,接受用户请求,但不需要很复杂的业务逻辑。

2.订票流程处理子系统

   进入该子系统的用户开始正式的订票流程,如,填写各种表单。该子系统关键在于需要一张表,用来记录用户已经订出的票,扣除系统剩余票数,这样不至于用户交钱了票没了。只有用户取消订票时,将票退回系统。
   同时,该系统应该记录用户在订票流程的日志。


3.订票确认与分发子系统
   用户完成所有信息填写后,进入该子系统,该系统负责最终登记用户的订票信息,并正式的将票据出售,同时从用户的资金账户中扣除钱款,并在系统中锁定票号。
    用户将从这个系统中,最终确认自己的购买的票据时间,票据,出发到达等信息,即提供最终票务状态的查询。


剩下的具体设计,如,数据库集群设计,负载均衡设计,动态服务扩展设计,高可用性设计,高速缓存设计,这些议题大家平时都在讨论,这里就不多说了。

大方向设计出来了,小细节的可选方案就灵活了。我就不信这样的设计会出现钱扣了,票没出的情况...


尼玛,再次抱怨铁道部购票网站设计就是无脑的坑爹货!

排队不如撞大运,否则全让自动登录给抢了。
不敢相信第2、3点会没有?有证据吗?
感觉12306就是按第2、第3点来的,也就是这2步让人不太舒服。



限制IP登录数,随机码,手机短信验证,很多手段可以防止自动登录
0 请登录后投票
   发表时间:2012-01-12  
zmcsut 写道
weifly 写道
linliangyi2007 写道
嗨,这个系统设计的确实有问题!

有很多不该出的毛病都出。

流量大造成系统繁忙可以理解,但是各种没响应,还有交了钱没订到票,这个完全可以避免的。

总之,大家看不上它,是有原因的。


30分钟不交钱就把车票返回可售车票池,估计也是根据需求订出来的,不会无缘无故这样做的

原因可能就是防止有人占坑,只要订到20号的票,就把16号的票退了,导致16号想走的人买不到16号的票

既然这样,那如何防止“交了钱没订到票”事情的发生呢?


问题是现在这系统能保证30分钟一定能支付成功吗?
改成一天难道会死吗?
晚上12点到6点,不让人订票,难道就不能让人支付吗?

如果按你这逻辑,车票预占时间改为一天,我相信每天12306一放票,黄牛党牛疯狂预占,最后票全被黄牛党占住,真正想买票的人票就等着哭吧!
0 请登录后投票
   发表时间:2012-01-12  
zmcsut 写道
AngelAndAngel 写道
引用
排队不如撞大运,否则全让自动登录给抢了。
不敢相信第2、3点会没有?有证据吗?
感觉12306就是按第2、第3点来的,也就是这2步让人不太舒服。


自动登录发的请求和普通请求无两样 照样排队。

软件是什么速度?人是什么速度。
按你说的,秒杀器还有个屁用。
而且这破系统,订单支付有时能给你退出来。
难道重新排队,45分钟内能排进去?


老弟,你刚入行吧
0 请登录后投票
   发表时间:2012-01-12  
linliangyi2007 写道
vtrtbb 写道
说实话,铁路系统基本都挺复杂。

有的系统可不像秒杀不到东西这么简单,弄不好就是重大事故。



少来装复杂了,这个只不过是售票系统,又不是动车的控制系统!

再复杂也比不上证券交易系统和电信计费系统,能出啥事故!!最大事故就是定不来票而已

你们有木有想过春节晚上的电话和短信流量有多大?人家移动计费系统要是瘫痪那才是重大事故!

就一个订票系统,做成这样,里面的猫腻我就懒得说了!


狗屁都不知道人别在这里装2了好么
你知道电信和移动的接通率是多少么?
知道春节晚上的接通率又是多少么?
如果根据这个接通率换算出订单的失败率
你知道春节订票的这每天会有多少万张单子失败么?


0 请登录后投票
论坛首页 Java企业应用版

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