论坛首页 Java企业应用论坛

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

浏览 26999 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-01-13  
linliangyi2007 写道
mikewang 写道


不懂不要装懂!

电信计费系统要比一般的交易系统简单的多的多,甚至比一般CMS/MIS 系统都要简单。

原因如下:
1 电信计费系统算是一个无状态的系统(请求/回复无状态,数据之间无关联依赖)
2 电信计费系统几乎没有并发(并发20个以内,中国发达省份会多一下,但不会超过40)
3 数据都是串行化处理队列处理
4 业务处理过程极其简单(不要说什么批价,信控复杂! 那个叫繁琐,复杂真的算不上)

但一般的交易系统就不一样了
1 都是状态数据,服务器必须跟踪客户端的状态,服务端压力巨大
2 并发处理要求高,而且都是online 在线处理
3 交易数据内部都有关联,而且有相互依赖


那按你的意思是,这个售票系统是因为复杂,所以出现收了钱,不出票??还是说做到这点很不容易,很完美,不用改进了,或者没有改进空间了??

高可靠性系统在最核心部分大都是串行化处理的,正因为这样,我们才提出了异步任务队列,或者排队系统的设计。
按照我上面的3部设计原则,售票系统的核心根本就不存在什么客户端状态跟踪,或者太多复杂的业务依赖,这些东西应该在第二部分系统中分离,核心部分就是高效的串行化系统,最终确认客户下单,收钱,出票。

你太想当然了。

队列系统处理的前提就是数据孤立不要有关联, 例如计费系统, 账户信息都是孤立的, 我不可能需要操作你的账户,而且操作也是有严格顺序的,但是售票系统可不是这样,对票的操作是无序的,而且相互之间是有关联的,你定票的时候,票还有, 但你出票的时候票可能已经没有了!

我估计那个收了钱,不出票的原因可能就是采用了队列技术, a,b2个操作队列同时对票处理,但没做串行化。但仔细想想,这里的串行化也是不现实的,如果采用串行化,那么整个系统的响应速度会更慢。

改进是需要的, 不过首先需要做好准备工作,例如梳理购票流程,规划合适的后端购票平台等等,另外项目运作上也要做出调整,不要在春运中实验这个系统!

毕竟这个系统算是世界上用户数最大,最集中的系统之一了。通过这个系统买到票的人还是有的,在没有搞清楚问题之前,我不会提出建议和意见.

向你这样的异想天开的比较和抱怨解决不了任何问题!同时你也不能从别人的错误中学习到任何知识!
0 请登录后投票
   发表时间:2012-01-13  
mikewang 写道
linliangyi2007 写道
mikewang 写道


不懂不要装懂!

电信计费系统要比一般的交易系统简单的多的多,甚至比一般CMS/MIS 系统都要简单。

原因如下:
1 电信计费系统算是一个无状态的系统(请求/回复无状态,数据之间无关联依赖)
2 电信计费系统几乎没有并发(并发20个以内,中国发达省份会多一下,但不会超过40)
3 数据都是串行化处理队列处理
4 业务处理过程极其简单(不要说什么批价,信控复杂! 那个叫繁琐,复杂真的算不上)

但一般的交易系统就不一样了
1 都是状态数据,服务器必须跟踪客户端的状态,服务端压力巨大
2 并发处理要求高,而且都是online 在线处理
3 交易数据内部都有关联,而且有相互依赖


那按你的意思是,这个售票系统是因为复杂,所以出现收了钱,不出票??还是说做到这点很不容易,很完美,不用改进了,或者没有改进空间了??

高可靠性系统在最核心部分大都是串行化处理的,正因为这样,我们才提出了异步任务队列,或者排队系统的设计。
按照我上面的3部设计原则,售票系统的核心根本就不存在什么客户端状态跟踪,或者太多复杂的业务依赖,这些东西应该在第二部分系统中分离,核心部分就是高效的串行化系统,最终确认客户下单,收钱,出票。

你太想当然了。

队列系统处理的前提就是数据孤立不要有关联, 例如计费系统, 账户信息都是孤立的, 我不可能需要操作你的账户,而且操作也是有严格顺序的,但是售票系统可不是这样,对票的操作是无序的,而且相互之间是有关联的,你定票的时候,票还有, 但你出票的时候票可能已经没有了!

我估计那个收了钱,不出票的原因可能就是采用了队列技术, a,b2个操作队列同时对票处理,但没做串行化。但仔细想想,这里的串行化也是不现实的,如果采用串行化,那么整个系统的响应速度会更慢。

改进是需要的, 不过首先需要做好准备工作,例如梳理购票流程,规划合适的后端购票平台等等,另外项目运作上也要做出调整,不要在春运中实验这个系统!

毕竟这个系统算是世界上用户数最大,最集中的系统之一了。通过这个系统买到票的人还是有的,在没有搞清楚问题之前,我不会提出建议和意见.

向你这样的异想天开的比较和抱怨解决不了任何问题!同时你也不能从别人的错误中学习到任何知识!


怎么说呢,我不是想当然,我之前做过一个证券开户系统,其开户依赖逻辑各种关联的复杂,需要对用户的A股账号,B股账号,资金账号,影像资料等等,多达7-8分布式系统的关联,每个请求还要等对方系统确认后,才可向下执行。
其中关配置业务规则就可以搞晕好一阵子,但即便这样,依然可以很好的使用队列机制解决。

你会说这个实时性不高,但是这个实例说明了队列能够实现业务逻辑的高复杂性和依赖性。你说我想当然,那你对我的经验和能力就是客观评价了?!

我只想明确一点,这个订票系统会出现收钱不出票这样的低级问题,就是个根本不符合上线标准的产品,这个就好比取款机扣了你账号的钱,再告诉你机器内没钞票;又好比你在证券系统中交易,钱付了,股票没入账,这种系统敢拿来上线!!!

【毕竟这个系统算是世界上用户数最大,最集中的系统之一了。通过这个系统买到票的人还是有的,在没有搞清楚问题之前,我不会提出建议和意见.】

赤裸裸洗白啊,除了系统开发人员,外部人员当然永远搞不清楚具体的系统实现是怎样的,大家只是从自己的经验和解决问题的角度来说明,这样的系统要如何设计!


0 请登录后投票
   发表时间:2012-01-13   最后修改:2012-01-13
支持楼上,总之现在是事务和性能都没达到预期的效果,需要改进啊~~~
不过12306一上线就这么多流量,让多少业内人士羡慕、嫉妒、恨那!!!
0 请登录后投票
   发表时间:2012-01-13  
有意义吗?如果觉得很有本事,就自己开发个Apache,Nginx,Mysql 也拿出来开源,给我们菜鸟用用

0 请登录后投票
   发表时间:2012-01-13  
linliangyi2007 写道

怎么说呢,我不是想当然,我之前做过一个证券开户系统,其开户依赖逻辑各种关联的复杂,需要对用户的A股账号,B股账号,资金账号,影像资料等等,多达7-8分布式系统的关联,每个请求还要等对方系统确认后,才可向下执行。
其中关配置业务规则就可以搞晕好一阵子,但即便这样,依然可以很好的使用队列机制解决。

你会说这个实时性不高,但是这个实例说明了队列能够实现业务逻辑的高复杂性和依赖性。你说我想当然,那你对我的经验和能力就是客观评价了?!

我只想明确一点,这个订票系统会出现收钱不出票这样的低级问题,就是个根本不符合上线标准的产品,这个就好比取款机扣了你账号的钱,再告诉你机器内没钞票;又好比你在证券系统中交易,钱付了,股票没入账,这种系统敢拿来上线!!!

【毕竟这个系统算是世界上用户数最大,最集中的系统之一了。通过这个系统买到票的人还是有的,在没有搞清楚问题之前,我不会提出建议和意见.】

赤裸裸洗白啊,除了系统开发人员,外部人员当然永远搞不清楚具体的系统实现是怎样的,大家只是从自己的经验和解决问题的角度来说明,这样的系统要如何设计!


这个不是洗白,我说的是事实,另外铁道部也是第一次搞这么个系统。系统确实有问题,需要改进。
0 请登录后投票
   发表时间:2012-01-13  
不知道各位有没有认真思考过云风的方案,我马后炮提三个问题:

1. 网上订票的“实名制”对技术方案意味着什么
2. 12306、实体售票点和核心票务系统之间的接口和各自职责是什么
3. 偏技术一点, actor模型对业务建模意味着什么

围绕这三点,我想对于这个网上订票网站如何设计的讨论就不会跑偏。大家的讨论热情很高啊
0 请登录后投票
   发表时间:2012-01-13  
linliangyi2007 写道
zmcsut 写道
一群装高手的家伙,继续蛊惑在卖1分钟就缺货的购物网站上加排队系统吧.
淘宝真该请你们去加个排队系统,否则淘宝人士全成了你们嘴里的...


大家来围观了,这位高手意思是,现在的订票系统已经最好了,没有改进的可能了,他们做的系统是最牛的!!

来,我们来膜拜!

你是红卫兵出生吧,扣帽子的恶习还在?不当官真委屈了你。

你开篇说3点解决方案,还不让人反驳?仔细想想你说的3点有没有建设意义吧。还排队,我呸,最恨排队了。
不从用户角度考虑,讨论个毛技术。
拜托你不要给已经够垃圾的网站上添垃圾了。真加上排队还让不让人活,难不成在电脑前排上好几天队,就为买一张票。
0 请登录后投票
   发表时间:2012-01-13  
zmcsut 写道
linliangyi2007 写道
zmcsut 写道
一群装高手的家伙,继续蛊惑在卖1分钟就缺货的购物网站上加排队系统吧.
淘宝真该请你们去加个排队系统,否则淘宝人士全成了你们嘴里的...


大家来围观了,这位高手意思是,现在的订票系统已经最好了,没有改进的可能了,他们做的系统是最牛的!!

来,我们来膜拜!

你是红卫兵出生吧,扣帽子的恶习还在?不当官真委屈了你。

你开篇说3点解决方案,还不让人反驳?仔细想想你说的3点有没有建设意义吧。还排队,我呸,最恨排队了。
不从用户角度考虑,讨论个毛技术。
拜托你不要给已经够垃圾的网站上添垃圾了。真加上排队还让不让人活,难不成在电脑前排上好几天队,就为买一张票。


狗急了,跳墙了,除了无脑的谩骂,你能给出啥有意义的建设性方案么?排队是一种常用的大并发量缓冲策略,居然被你说成是垃圾,很想知道你在哪里高就,做些什么,这种水平,脾气倒挺大!
0 请登录后投票
   发表时间:2012-01-14  
linliangyi2007 写道
zmcsut 写道
linliangyi2007 写道
zmcsut 写道
一群装高手的家伙,继续蛊惑在卖1分钟就缺货的购物网站上加排队系统吧.
淘宝真该请你们去加个排队系统,否则淘宝人士全成了你们嘴里的...


大家来围观了,这位高手意思是,现在的订票系统已经最好了,没有改进的可能了,他们做的系统是最牛的!!

来,我们来膜拜!

你是红卫兵出生吧,扣帽子的恶习还在?不当官真委屈了你。

你开篇说3点解决方案,还不让人反驳?仔细想想你说的3点有没有建设意义吧。还排队,我呸,最恨排队了。
不从用户角度考虑,讨论个毛技术。
拜托你不要给已经够垃圾的网站上添垃圾了。真加上排队还让不让人活,难不成在电脑前排上好几天队,就为买一张票。


狗急了,跳墙了,除了无脑的谩骂,你能给出啥有意义的建设性方案么?排队是一种常用的大并发量缓冲策略,居然被你说成是垃圾,很想知道你在哪里高就,做些什么,这种水平,脾气倒挺大!


帽子一顶顶的,很好奇你这人怎么能做技术?
你真能认真和人讨论技术?真能用心体会用户需求?

排队是一种常用的大并发量缓冲策略.没有那种东西是万能的.限制人数不一定要排队.现在明显是卡在提交订单那步,明显是设计问题.你却咬着不是重点的登录不放.按你的帽子论,是不是该说你在无间?
一个技术论坛,搞得像天涯一样,帽子满天飞.
0 请登录后投票
   发表时间:2012-01-14  
iteye已经变成CSDN了。javaeye已经消失了。
0 请登录后投票
论坛首页 Java企业应用版

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