主题:【原创】好吧,给一个铁道部订票系统的正确答案 -- 布老虎
假设峰值5000万人会同时在线,但考虑到有人要搜索路线,查价格,在假设平均地分布在15分钟内拍板决定,估计同一秒钟下单的数目约为5万5。这个应该不算是是很离谱的要求。
下单不是难处,而是每一张票整个Transaction的完成要花时间,如果5万5个Transaction同时进行的话,很可能一下子就把数据库拖垮了。
布老虎的思路,(其实红黑客的思路也一样)就是要排队。
就像售票站点,开100个窗口,这5万5就平均地排在这100个窗口上,一条龙,也就是550个买家。假设每一个Transaction需0.1秒完成,那么最后的一位,大概需要1分钟的时间。
这100个窗口的数字是怎么来的呢,这里是我随意估算的。在实践工作中,就要靠行家的经验了,一般来说,钱越多,硬件越好,设计越好的数据库,这个数字越大,反之则越小。这个数字,其实就是数据库可以并行处理各个Transaction的上限。
这种思路的好处在于,可扩展性。
即使一开始的估算不准,也不要紧,我投多点钱,买多点服务器,开多几个窗口,增加带宽,从而降低排队的时间。
- 相关回复 上下关系8
🙂技术上支持一下布老虎 3 懒厨 字1231 2013-10-31 23:49:41
🙂买火车票要身份证吧?这个淘宝不行 zero9999 字0 2013-11-01 07:16:48
🙂量变是要引起质变的 4 胡一刀 字668 2013-11-01 02:54:24
🙂你应该还没有理解布老虎的思路
🙂数据库可不能这么用 墨虎 字716 2013-11-01 12:33:45
🙂应该不至于这么弱,尤其是搞集群 懒厨 字277 2013-11-03 19:56:11
🙂预存的话,估计对于铁总开展金融业务这块是非常有诱惑力的 bjinjin 字0 2013-10-31 04:12:30
🙂淘宝已经给出正确答案了,只是很快又被下线了 川普 字0 2013-10-30 21:12:59