论坛首页 Java企业应用论坛

讨论火车票订购网站架构

浏览 56148 次
精华帖 (6) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (5)
作者 正文
   发表时间:2012-01-05  
所谓码农 写道
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万就可以满足把。当然架构成熟了奔到上亿就可以了。
还有成本问题,铁路局娜段铁路不是上亿甚至几十亿啊,做个网站不用替他考虑钱,他有的你们懂的!
个人见解求喷!


这些数据还是比较靠谱


上亿用户是指的并发上亿吗?
淘宝秒杀是并发量是多少?反正我是一直刷新不出来,刷出来的时候,已经没东东了。
0 请登录后投票
   发表时间:2012-01-05  
基础决定上层建筑,再好的框架,没好的服务器怎么可能顶住高峰期订票的压力??铁道部又不是没钱。
0 请登录后投票
   发表时间:2012-01-05  
压力测试有木有。
0 请登录后投票
   发表时间:2012-01-05  
所谓码农 写道
zmcsut 写道
所谓码农 写道
zmcsut 写道
所谓码农 写道
aws 写道
所谓码农 写道
按10亿人口(当然网络购票绝对不会有10亿人)、售票高峰15天,每天12小时出票来计算,若每次都能购票成功,则每秒的理论并发为1543个(事实上1543的并发完全不需要多余的负载)。但若出现阻塞的情况,就会导致用户不停的刷新,从而导致系统更加繁忙。
要解决这个问题,可以从几个方面下手:
1.使用异步排队的方式(或者AJAX提交,提交完后把页面给锁了,直到服务器响应),当购票请求提交后提示用户“您正在排队,您前面有XXXX位。。”,当排队成功后,一天之内付款,购票成功!这样就可以避免购票者不断提交造成的压力。
2.提高系统并发,使用nginx作为HTTP服务器,据说nginx的并发高达3万,这个我没有具体测试,当然这个也取决于业务逻辑的复杂度。
3.缓存所有车票信息,提高查询的响应时间


你这个高峰期的计算逻辑本身就是错的
首先车票12天预售期是在15:00开卖,结果就是你这所谓的12小时出票的访问压力会基本上全部集中在15:00的前5分钟,后最多30分钟以内,特别是在15:00的前后5分钟,真按你的1543个并发去设计系统,那就等死去吧

首先买票的人绝对低于10亿,其次我只是提出一下解决问题的思路,不需要在数据上纠结,1543是理论值,实际上还会有查询、购票者还会不停的刷新,这些都是并发。
另外15:00是可以控制的,在售票方式上应尽量使其均衡,按地区分时段等


关键点来个理论值就一笔带过,理论好歹也得是同一数量级吧。
如果这项目是你来做,估计是一个德行。
这系统,京东不行,淘宝也够劲。铁道部是疯了,全国这么多人,运力还不够,再加上那么多秒杀程序。。。


就事论事,论人就没啥意义了,品行问题


那句话论人呢?
需求你明确了吗?
需求你都没能明确就嚷着项目该怎么做,该采用什么什么技术,有用吗?
铁道部是疯了,你也疯了。
会写秒杀程序的赶紧写吧,否则过几天人工抢票。。。淘宝有几个人工抢到的。。。


我说什么了?这项目搁我做也是一个德行??我做成什么样还没轮到你来品头论足


随便猜个并发,就能头头是道的开始做设计的人,不是疯子就是天才。
而天才是不会来这泡论坛的
0 请登录后投票
   发表时间:2012-01-05  
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万就可以满足把。当然架构成熟了奔到上亿就可以了。
还有成本问题,铁路局娜段铁路不是上亿甚至几十亿啊,做个网站不用替他考虑钱,他有的你们懂的!
个人见解求喷!


这些数据还是比较靠谱


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



小弟,重在参与,说错的请指出。但有一点,假如,只是“假如” 你要算并发,你连前提的用户量都不知道你用什么算并发啊? 并发这块不是太懂,但是我觉得还是先有用户量算并发才合理。
0 请登录后投票
   发表时间:2012-01-05  
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万就可以满足把。当然架构成熟了奔到上亿就可以了。
还有成本问题,铁路局娜段铁路不是上亿甚至几十亿啊,做个网站不用替他考虑钱,他有的你们懂的!
个人见解求喷!


这些数据还是比较靠谱


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



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


老大,没说你啊,你讨论需求,怎么都不算错。我好奇的是跟你贴那个跳过需求直接设计的人。周一得订票了,这架势,没指望了。
0 请登录后投票
   发表时间:2012-01-05  
zmcsut 写道
所谓码农 写道
zmcsut 写道
所谓码农 写道
zmcsut 写道
所谓码农 写道
aws 写道
所谓码农 写道
按10亿人口(当然网络购票绝对不会有10亿人)、售票高峰15天,每天12小时出票来计算,若每次都能购票成功,则每秒的理论并发为1543个(事实上1543的并发完全不需要多余的负载)。但若出现阻塞的情况,就会导致用户不停的刷新,从而导致系统更加繁忙。
要解决这个问题,可以从几个方面下手:
1.使用异步排队的方式(或者AJAX提交,提交完后把页面给锁了,直到服务器响应),当购票请求提交后提示用户“您正在排队,您前面有XXXX位。。”,当排队成功后,一天之内付款,购票成功!这样就可以避免购票者不断提交造成的压力。
2.提高系统并发,使用nginx作为HTTP服务器,据说nginx的并发高达3万,这个我没有具体测试,当然这个也取决于业务逻辑的复杂度。
3.缓存所有车票信息,提高查询的响应时间


你这个高峰期的计算逻辑本身就是错的
首先车票12天预售期是在15:00开卖,结果就是你这所谓的12小时出票的访问压力会基本上全部集中在15:00的前5分钟,后最多30分钟以内,特别是在15:00的前后5分钟,真按你的1543个并发去设计系统,那就等死去吧

首先买票的人绝对低于10亿,其次我只是提出一下解决问题的思路,不需要在数据上纠结,1543是理论值,实际上还会有查询、购票者还会不停的刷新,这些都是并发。
另外15:00是可以控制的,在售票方式上应尽量使其均衡,按地区分时段等


关键点来个理论值就一笔带过,理论好歹也得是同一数量级吧。
如果这项目是你来做,估计是一个德行。
这系统,京东不行,淘宝也够劲。铁道部是疯了,全国这么多人,运力还不够,再加上那么多秒杀程序。。。


就事论事,论人就没啥意义了,品行问题


那句话论人呢?
需求你明确了吗?
需求你都没能明确就嚷着项目该怎么做,该采用什么什么技术,有用吗?
铁道部是疯了,你也疯了。
会写秒杀程序的赶紧写吧,否则过几天人工抢票。。。淘宝有几个人工抢到的。。。


我说什么了?这项目搁我做也是一个德行??我做成什么样还没轮到你来品头论足


随便猜个并发,就能头头是道的开始做设计的人,不是疯子就是天才。
而天才是不会来这泡论坛的

论事,论人??我是不是天才和你无关,你来歪歪啥
0 请登录后投票
   发表时间:2012-01-05  
我觉得做成这样已经不错了。还是让他们想办法解决一票难求的问题吧。
0 请登录后投票
   发表时间:2012-01-05   最后修改:2012-01-05
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,西祠看看。
0 请登录后投票
   发表时间:2012-01-05   最后修改:2012-01-05
所谓码农 写道
.使用异步排队的方式(或者AJAX提交,提交完后把页面给锁了,直到服务器响应),当购票请求提交后提示用户“您正在排队,您前面有XXXX位。。”



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

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

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

还有后台进程,决定哪些人进入,排了队的,又不在了,下面派谁进来,这些逻辑都需要消耗服务器的
0 请登录后投票
论坛首页 Java企业应用版

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