主题:【原创】无责任推测12306网站遇到的麻烦 -- 代码ABC
共:💬135 🌺246
复 我的经验不一样
在理论上1和2之间当然可以相隔无限长时间,但是无论是1还是2都要连接数据库,我提到了其连接方式可以是使用已有连接或者重新连接。重新连接的问题在于当用户完成支付返回到本网提交状态时中间件已经没有可用的db连接了,而使用已有连接的问题是一般中间件都会设定连接的ageout时长,用户完成支付时间过长会被ageout,但ageout设定过大又会降低连接效率。
所以最终问题都会表现到中间件到db的可用连接数量上。然而问题的表现形式与其本质并不一致。网银支付才是其本质。
我的point并不在于db连接是否需要cache,也不是这个cache的ageout应该要多长。而在于当中间件可用连接数有限的情况下,应当使每个用户尽快完成交易。我认为目前的售票系统网银支付方法是阻碍用户在短时间内完成交易的主要瓶颈。
btw:我不知道目标读者对IT的熟悉程度所以使用了cache连接这种说法,连接池当然没问题,但也是cache连接的一种方式而已,目的是为了减少连接打开和关闭的资源消耗,提高效率。而且中间件有自己的连接池,在db端oracle自己也有,这二者都是可用的看你怎么选了。
- 相关回复 上下关系8
🙂“如果能大致满足注册用户的购票需求” PCB 字90 2012-01-12 11:26:34
🙂我曾经2次尝试过网上购票 11 想围观群众 字1125 2012-01-11 23:21:47
🙂远没有7000万人次/天那么多 1 王树 字860 2012-01-11 23:08:24
🙂谢谢,那我的估计偏大了一个数量级 代码ABC 字42 2012-01-11 23:47:39
🙂既然是窗口和网站并行 闻过则喜 字328 2012-01-11 20:24:13