11月11日上午,陆续有网友表示遭遇支付宝服务异常,无法付款、付款时显示“支付失败”“交易创建失败”“服务异常”等。有网友称支付宝出现余额宝提现未到账、花呗还款扣款成功但账单没清等。
支付宝官方在11时25分发布声明,解释称:“由于系统消息库出现局部故障,部分用户的支付功能受到影响。此故障不影响用户资金安全,截至上午10时50分,故障已得到修复。对于此次服务中断给用户带来的不便,我们深表歉意。”
恢复过程耗时超过一个小时,对于支付宝这样成熟的系统架构来说,这可能意味着问题定位出现了困难,或是应急预案准备不足
还有网友称自己被重复扣款22次,又全部还回来了
阿里给出崩溃原因是由系统消息库引起
“系统消息库故障”涉及的具体技术位置非常多。用长假期间的景点排队来类比“系统消息库”,游人很多的景点,入口处会有很多栏杆,使用弯弯绕绕的折叠队列,而入园检票往往就一个地方。
从支付系统来看,消息机制多用于高并发场景(系统收到高频率请求,且需要同时处理的场景),此时,很多大型业务处理都比较慢,但是,用户的请求又来得特别快,所以,系统会把用户的请求放入消息队列排队,队列快速接收用户消息,通过队列的缓冲,为后台的系统处理争取时间。
“系统消息库”出现故障,可能有以下原因:一、信息队列撑不住,因为用户量太大,处理能力到了极限。但是导致这个问题的原因也很多,因为像支付宝这类系统,它应该会通过检测用户数量自动扩容;二、后端的业务系统处理不畅,接收信息再快,终端处理不过来也会导致问题。
但是,支付宝的支付有多个终端处理环节,比如用户的支付资质核实、如何与其他支付终端连接等等。总之,支付宝是非常复杂的分布式系统,导致问题的具体原因也很复杂