五千年(敝帚自珍)

主题:【原创】好吧,给一个铁道部订票系统的正确答案 -- 布老虎

共:💬185 🌺732 🌵9
全看树展主题 · 分页首页 上页
/ 13
下页 末页
家园 他是总统啊,通宝多不胜数

抓住行家问几个问题:

1. 高峰期有多少人同时在线?

2. 用了几台服务器?

3. 用了什么数据库?

4. 用什么开发UI?

5. 需要多少带宽?

家园 既然如此

就拿这个做标杆好了,就会觉得火车的订票系统便宜很多。。。

家园 好像没听到人抱怨飞机票难订。不过不是一个数量级的
家园 不仅如此

也没有人投诉机票在过年过节时的加价不合理。

真是奇哉怪也!

家园 预存的话,估计对于铁总开展金融业务这块是非常有诱惑力的
家园 其实就是一个中端和低端交通服务的公共属性问题
家园 愿闻其详

我觉得是价格管制的问题。。。。

家园 你说的和我讲的根源是一个问题

就是铁路交通在我们国家属于自然垄断经营的公共产品,道理上是实行听证制度下的政府指导价格,和你所说的价格管制的概念有一部分是重合的,而民用航空虽然也有指导价格,但是名义上我们还有那么多航空公司竞争,管制上更宽松些,其实另一种跨区域公共运输工具,就是长途客运,它的定价和铁路也很像。

家园 行家谈不上,在不涉密的情况下简单回复下

抓住行家问几个问题:

--- 行家谈不上

1. 高峰期有多少人同时在线?

--- 几个M

2. 用了几台服务器?

--- 30台左右

3. 用了什么数据库?

--- Redis

4. 用什么开发UI?

--- HTML

5. 需要多少带宽?

--- 几个G


本帖一共被 1 帖 引用 (帖内工具实现)
家园 技术上支持一下布老虎

这里有位业内人士,给出证据,说明了开源软件技术上的可行性。链接出处

再天马行空一下:

1. 这个实在是最简单便宜的办法:Fuhrer:淘宝已经给出正确答案了,只是很快又被下线了

每卖一张票,给淘宝5毛,1块,估计比自己开发便宜多了,而且快多了。不仅如此,淘宝的可靠性也是经过验证的。

但我猜不出为什么不这么做,估计要业内人士,例如忘情才能给出合理的解释。

2. 如果一定要自己开发,我发现布老虎的方案,技术上基本靠谱。(基于一帆孤的案例是真实的假设,以我的直觉,是真实的)我们可以做个分析:

查到的2012年铁路春运人次为2.2亿。

http://business.sohu.com/20120214/n334635495.shtml

假设来回跑,实际坐火车出门人数大约是1.1亿。春运提前一个月售票的话,估算最高峰,可能有5000万人同时在线。(这个数目可能还可以往下调,因为可以用分路段段,分天来发布火车票,这样,不同路段的人,不用同时挤在一起。)

好了,再回头看看一帆孤河友的数据,大概涉及商业机密,他没有说得很细,我也只能拿中间值猜: 500万人同时在线,35台服务器,5个G的带宽,开源数据库Redis。

那么我们在看看布老虎,考虑到5000万人同时在线,10倍的话,至少也是350台服务器,但再考虑其业务逻辑的复杂性(尤其是预付款的支付问题),以及MySQL与Redis的差异,1200台服务器,这个估算确实很合理。

总结:技术上支持布老虎,政治上支持红黑客。

家园 这段说的太棒了!!!

经常有一些专家级的人物,上门推荐自己做什么什么软件都没有问题,看看我们用的软件都能说出一堆问题,这个落后了,那个不合适,应该改造了,只需要n个万元就足够了.....一旦你信任了他,就陷入无群无尽的麻烦,开始他还很积极修改,过了一个月,找都找不到人。

我们需要的不是什么先进的东西,是好用能用的东西。

家园 量变是要引起质变的

几个M的人是同时提交订单可能和5000万的人同时提交订单还是有区别

那5000万的人同时提交订单,而且订单种类有限数量有限的情况是怎样的?

请参考淘宝双11的时候,淘宝自己也有个别时段不可用的

啥时候来着京东图书打折1天,结果那一天我的订单最后也没有提交出去

量变是要引起质变的,涉及到这么大规模的钱,这么多的人,不要低估了困难

刚才没有看到一帆孤的帖子,他那个系统有明显简化的,铁道部遇到的困难他那里被回避了:

铁道部卖票基本无法拒绝用户,他那里可以将已购买成功的用户过滤掉;

我觉得很惊讶,几M的人在提交订单,前面如果有货就返回信息恭喜人家,然后后台一个中心服务器统一处理,最后是严格不允许超卖的,我是不理解如何实现最后几个同时收到恭喜信息的人不会被误报的,这估计也正是关键的核心机密

家园 顶一下你写的内容

红黑客网友其实就是典型的自以为懂开发或者工程,其实就一别人产品的一用户水平。我一看到哪个什么三元悖论就直接呕吐了。。。就铁道部这个东西,选了技术方案架构搞不定了就来个悖论,这不是废话么:条件都给定了,当然就悖论了。

我也给一些低水平的货上上计算机体系架构和组成原理的课吧。

高访问量这玩意,应该找的东西不叫悖论,叫瓶颈,啥瓶颈?数据库!为啥?因为是硬盘!咋解决?在内存里搞!咋搞?布老虎给了答案。

红黑客一类的网友开口闭口懂业务,其实他们还真不懂业务。从宏观上看,恰恰就是因为这种"懂业务"的人太多了,才轮得到哪些通用企业信息系统(erp, crm, finace ...)卖大价钱. 他们其实只知道把自己会搞的东西叫业务,对业务本身,对技术就却是一知半解,理解不深刻。否则早就自己开发各种 通用的 和 专用的 信息系统赚大钱了。

红黑客网友,我上面这一段话隐含一个真正的悖论,请认真领会。

家园 你应该还没有理解布老虎的思路

假设峰值5000万人会同时在线,但考虑到有人要搜索路线,查价格,在假设平均地分布在15分钟内拍板决定,估计同一秒钟下单的数目约为5万5。这个应该不算是是很离谱的要求。

下单不是难处,而是每一张票整个Transaction的完成要花时间,如果5万5个Transaction同时进行的话,很可能一下子就把数据库拖垮了。

布老虎的思路,(其实红黑客的思路也一样)就是要排队。

就像售票站点,开100个窗口,这5万5就平均地排在这100个窗口上,一条龙,也就是550个买家。假设每一个Transaction需0.1秒完成,那么最后的一位,大概需要1分钟的时间。

这100个窗口的数字是怎么来的呢,这里是我随意估算的。在实践工作中,就要靠行家的经验了,一般来说,钱越多,硬件越好,设计越好的数据库,这个数字越大,反之则越小。这个数字,其实就是数据库可以并行处理各个Transaction的上限。

这种思路的好处在于,可扩展性。

即使一开始的估算不准,也不要紧,我投多点钱,买多点服务器,开多几个窗口,增加带宽,从而降低排队的时间。

家园 买火车票要身份证吧?这个淘宝不行
全看树展主题 · 分页首页 上页
/ 13
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河