论坛首页 Java企业应用论坛

讨论火车票订购网站架构

浏览 56149 次
精华帖 (6) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (5)
作者 正文
   发表时间:2012-01-05  
zeeeitch 写道
所谓码农 写道
.使用异步排队的方式(或者AJAX提交,提交完后把页面给锁了,直到服务器响应),当购票请求提交后提示用户“您正在排队,您前面有XXXX位。。”



这个很好做吗,你想过没有?
假设10万人被堵在外面,在排队,每个人刷总数,数据库条件:“我前面”的,你知道10万人,每秒点击一次要多少台服务器才能扛住?

每秒10万次点击,查询我前面有xxxx位,每台服务器1000次/秒,就要100台了

每个人5秒点击一次,好2万次/秒,20台服务器


铁道部有钱的,兄弟。现在网上订票手续费5元,代售点买票5元,其他不说,光赚代理费都要上亿把。哎。。
0 请登录后投票
   发表时间:2012-01-05  
其实不用铁道部自己做这个订票系统,直接交给淘宝做好了,不用花钱淘宝都愿意做;或者找电商门户来做
0 请登录后投票
   发表时间:2012-01-05  
mamingyaoqian 写道
zmcsut 写道
mamingyaoqian 写道
zmcsut 写道
所谓码农 写道
mamingyaoqian 写道
大家讨论前是否搞清楚需求啊,我这在讲解下,理解错误地方请指出:
昨天看到官方信息(至于几号的不清楚) 说12306注册用户800万。你们讨论的是不是人数太多了。根据实际情况推算下人数可以这样定位:全国人口用14亿做基数。
1,除去短途和不需要流动的我把14亿除以2可以把?  14/2=7
2,回家交通工具多样化现在除了火车汽车飞机轮船都是有的把,当然火车占大多数(7层)  7*0.7=4.9
3,现在人会上网的挺多,网上订票的貌似并不很多。   4.9/2=2.5
4,还有即使网购存在一个帐号购买多个的情况   2.5*0.8=2
5,其他购票途径的存在2/2=1
6,其他没想到因素+上面全是保守估算  1/2 = 5000万

小弟懂的少,只是把了解的估算了下,系统哪里要涉及到上亿的用户啊,前期设计到5000万就可以满足把。当然架构成熟了奔到上亿就可以了。
还有成本问题,铁路局娜段铁路不是上亿甚至几十亿啊,做个网站不用替他考虑钱,他有的你们懂的!
个人见解求喷!


这些数据还是比较靠谱


上亿用户是指的并发上亿吗?
淘宝秒杀是并发量是多少?反正我是一直刷新不出来,刷出来的时候,已经没东东了。



小弟,重在参与,说错的请指出。但有一点,假如,只是“假如” 你要算并发,你连前提的用户量都不知道你用什么算并发啊? 并发这块不是太懂,但是我觉得还是先有用户量算并发才合理。


老大,没说你啊,你讨论需求,怎么都不算错。我好奇的是跟你贴那个跳过需求直接设计的人。周一得订票了,这架势,没指望了。



网上订票只是其中一部分,还有很多票都是分到代售点和火车站的。而且是先卖贵票。别的地方不知道南京这边是这样的。网上订票12天,代售点10天。火车站5天。普快提前5天起售。不行坐汽车也行,还有就是拼车回家也可以,可以到58,西祠看看。


票太难,去年过年回北京,大年初一到初三一直尝试电话订票没订到,机票也卖光了,最后不得不买了大巴票。15小时,被子都是臭的,一路冻回北京。
0 请登录后投票
   发表时间:2012-01-05  
mamingyaoqian 写道
zeeeitch 写道
所谓码农 写道
.使用异步排队的方式(或者AJAX提交,提交完后把页面给锁了,直到服务器响应),当购票请求提交后提示用户“您正在排队,您前面有XXXX位。。”



这个很好做吗,你想过没有?
假设10万人被堵在外面,在排队,每个人刷总数,数据库条件:“我前面”的,你知道10万人,每秒点击一次要多少台服务器才能扛住?

每秒10万次点击,查询我前面有xxxx位,每台服务器1000次/秒,就要100台了

每个人5秒点击一次,好2万次/秒,20台服务器


铁道部有钱的,兄弟。现在网上订票手续费5元,代售点买票5元,其他不说,光赚代理费都要上亿把。哎。。


讲的是设计,光有钱上服务器就行了?服务器多了就省事了?
服务器间协调就复杂了

有的人一讲设计就信口开河了
0 请登录后投票
   发表时间:2012-01-05   最后修改:2012-01-05
zeeeitch 写道
所谓码农 写道
.使用异步排队的方式(或者AJAX提交,提交完后把页面给锁了,直到服务器响应),当购票请求提交后提示用户“您正在排队,您前面有XXXX位。。”



这个很好做吗,你想过没有?
假设10万人被堵在外面,在排队,每个人刷总数,数据库条件:“我前面”的,你知道10万人,每秒点击一次要多少台服务器才能扛住?

每秒10万次点击,查询我前面有xxxx位,每台服务器1000次/秒,就要100台了

每个人5秒点击一次,好2万次/秒,20台服务器


没人要你去查数据库,前面有多少位是取队列的总数。
5秒点击一次?你是刷票还是买票?
设服务器1000次/秒,如果前面有10万人,如果使用一台服务器,那么你等10秒即可处理,没人要求你1秒内看到结果。
异步排队的目的在于,避免用户不断的刷新。
0 请登录后投票
   发表时间:2012-01-05  
seanla 写道
其实不用铁道部自己做这个订票系统,直接交给淘宝做好了,不用花钱淘宝都愿意做;或者找电商门户来做



淘宝数据间耦合度有火车高吗?
一个人买火车票,影响到n另外查询的多人,乐观、悲观都一样

淘宝商品买一个,订单订就是了,你买了影响别人吗?大不了没货了取消订单,“亲,对不起,您买的商品没货了……”

拍卖有一点复杂
0 请登录后投票
   发表时间:2012-01-05   最后修改:2012-01-05
所谓码农 写道
zeeeitch 写道
所谓码农 写道
.使用异步排队的方式(或者AJAX提交,提交完后把页面给锁了,直到服务器响应),当购票请求提交后提示用户“您正在排队,您前面有XXXX位。。”



这个很好做吗,你想过没有?
假设10万人被堵在外面,在排队,每个人刷总数,数据库条件:“我前面”的,你知道10万人,每秒点击一次要多少台服务器才能扛住?

每秒10万次点击,查询我前面有xxxx位,每台服务器1000次/秒,就要100台了

每个人5秒点击一次,好2万次/秒,20台服务器


没人要你去查数据库,前面有多少位是取队列的总数。
5秒点击一次?你是刷票还是买票?
设服务器1000次/秒,如果前面有10万人,如果使用一台服务器,那么你等10秒即可处理。
异步排队的目的在于,避免用户不断的刷新。



前面有多少人,也要数据库的,还得保存sessionid,一天下来也有百八十万条了
不用数据库怎么搞?


KEY/VALUE一样,百千万条数据,效率比数据库能高几个数量级?
0 请登录后投票
   发表时间:2012-01-05  
啥架构不架构的,民航的订票是跑在单台过亿的大型机上,春运时候还是非常紧张,铁路起码比民航高一个数量级,这么短时间根本不可能构建出可靠的系统,系统五年能完善算是有效率,看评论大家都喜欢喷啊
0 请登录后投票
   发表时间:2012-01-05  
hipx 写道
啥架构不架构的,民航的订票是跑在单台过亿的大型机上,春运时候还是非常紧张,铁路起码比民航高一个数量级,这么短时间根本不可能构建出可靠的系统,系统五年能完善算是有效率,看评论大家都喜欢喷啊



同感,应该欢迎铁道部这样的举措,首要好处就是打击黄牛,不劳而获的鸟人
0 请登录后投票
   发表时间:2012-01-05  
这个举动还是可以支持一下的,其实要做这样的系统确实不容易的,特别国内公司更加不容易,给我们公司做也许效果一样。
0 请登录后投票
论坛首页 Java企业应用版

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