西西河

主题:【原创】无责任推测12306网站遇到的麻烦 -- 代码ABC

共:💬135 🌺246
全看分页树展 · 主题 跟帖
家园 没错阿

在理论上1和2之间当然可以相隔无限长时间,但是无论是1还是2都要连接数据库,我提到了其连接方式可以是使用已有连接或者重新连接。重新连接的问题在于当用户完成支付返回到本网提交状态时中间件已经没有可用的db连接了,而使用已有连接的问题是一般中间件都会设定连接的ageout时长,用户完成支付时间过长会被ageout,但ageout设定过大又会降低连接效率。

所以最终问题都会表现到中间件到db的可用连接数量上。然而问题的表现形式与其本质并不一致。网银支付才是其本质。

我的point并不在于db连接是否需要cache,也不是这个cache的ageout应该要多长。而在于当中间件可用连接数有限的情况下,应当使每个用户尽快完成交易。我认为目前的售票系统网银支付方法是阻碍用户在短时间内完成交易的主要瓶颈。

btw:我不知道目标读者对IT的熟悉程度所以使用了cache连接这种说法,连接池当然没问题,但也是cache连接的一种方式而已,目的是为了减少连接打开和关闭的资源消耗,提高效率。而且中间件有自己的连接池,在db端oracle自己也有,这二者都是可用的看你怎么选了。

全看分页树展 · 主题 跟帖


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

Copyright © cchere 西西河