既然好多答案都提到了宇宙行,那么宇宙行就来现身说法吧。
首先感谢知乎日报的推荐,一转眼多了这么多知友。
其次多谢@段mefisto 的提醒,补充说下宇宙行指的是ICBC,Infinite Commercial Bank of Cosmos……苦笑下
首先回答题主的问题。对于宇宙行而言,双十一等重大日子,是“科技线”包括三大中心而不仅仅是科技部的事情。实际上提前两个月就开始对这个节日进行性能容量专项评估,各种预案也准备充足。提前两周开始关注重点节点的运行情况,当天0点开始可能影响性能的操作都进行了调整,能提前的提前,能延后的延后(包括批处理等),优先确保0点高峰期的运行。一言蔽之就是各种检查各种报告,为什么宇宙行垮不了?就是各种准备的功劳。于是双十一那天,大家都比较淡定。
其次说下对银行科技系统的影响。大部分原理已经被前面的同学科普了,这里提出另外一个角度的分析。线上支付流程,从IT 角度分析,由两类交易组成:在线授权(我们称之为联机),后台清算(我们称之为批量)。授权很好理解,客户通过银行跟商户交易,银行确认这是客户本人做的,于是跟商户说,这是我的客户,东西你可以给他,我来承担划钱给你的责任,在这个时候,客户被扣款了,他的交易流程就完成了。但这个时候,完整的交易并没有完成,可以试想一下,每做一笔交易银行就划一笔钱,这并不是一个“经济”的处理方案,于是清算流程就来了:作为银行,每隔一段时间(比如一天)统一给商户划一笔账,作为这段时间里所有交易的结算。具体到双十一,那就是跟支付宝(银企互联)以及他行(跨行清算)的头寸调整工作,支付宝再调整商户的支付宝头寸,这就完成了整个交易过程。
从这两种交易定义来看,我们可以清楚了解到他们的区别,授权实时性高,所见即所得。清算实时性低,可以事后慢慢来。我们所谈到的银行在双十一“垮掉了”,说的都是授权部分,为了说明这点,我们来引入“队列”的模型。
银行系统对授权交易的处理,大致可以理解为排队。交易从渠道接入层(网银,ATM, 柜面等等)上来,进入一个类似队列的地方,业务处理层(具体完成交易)在前面叫号,一个个处理他们,先进的先处理,后进的后处理,也就是IT科班所说的FIFO(first in first out )。“垮了”的情况一般出现在业务处理层处理不过来的时候,进队列的越来越多,出队列的速度跟不上,队列越来越长,等到最后交易超时,对于客户来说,就是“没反应”“失败了”。在整个交易流程中,涉及银行系统的很多子系统,这些子系统作为交易环节中的节点,都有可能出现这种情况,一旦出现了,就是噩梦(考核,报告,优化)的到来……
对于大多数银行来说,其核心系统运行都是需要首先确保的。于是,在双十一这种大潮来临的时候,都需要有壮士断腕的决心。分配给线上支付的资源需要设定上限,一旦达到这个限额,就要控制住渠道接入塞进队列的数量:对不起,客满了。嗯,是的,很多时候你是被主动拒绝的。
问题我们知道了,解决方案也逐渐清晰了:横向扩和纵向挖。横向扩就是加机器加CPU,业内人士都知道十八摸大型机CPU 的计价方式,于是就有了“宇宙行是用钱堆出来”的说法;纵向挖就是从应用算法,数据库优化,网络优化方面找答案。从这个方面来说,宇宙行的优势就在人,几千人的科技团队在业内绝无仅有。对宇宙行来说,养人的成本不见得比买系统高:跟乙方不一样,自己人需要有“需求虐我如前任我待需求如初恋”的觉悟,不行也得行造就了无数的行家……说起来都是泪。
另外补充一下,跟大神们说的不一样,银行IT 是使用TPS(transactions per second )描述授权交易性能的,很少有平均到分钟的说法。去年双十一,宇宙行的TPS 最高峰是四位数,具体数字在这里也不方便透露。
最后忠告:双十一请提前充值或使用宇宙行……
来源:知乎 www.zhihu.com
作者:Caesar Chan
【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载
此问题还有 14 个回答,查看全部。