微信摇一摇红包得到钱后该怎么办

近两年的除夕夜,多少人摇烂了手机,戳坏了屏幕,宕机了多少系统。想知道微信摇一摇背后的技术细节吗?文末送书彩蛋!

除夕红包有多火?

与传统意义上的红包相比,近两年火起来的“红包”,似乎才是如今春节的一大重头戏。历经上千年时代传承与变迁,春节发红包早已成为历史沉淀的文化习俗,融入了民族的血脉。

按照各家公布的数据,除夕全天微信用户红包总发送量达到80.8亿个,红包峰值收发量为40.9万个/秒。春晚直播期间讨论春晚的微博达到5191万条,网友互动量达到1.15亿,网友抢微博红包的总次数超过8亿次。

微信红包不仅为春节增添了新的欢乐,也成为了各种微信群活跃气氛的利器。为了让全国人民顺畅地玩红包,从网络运营商、微信基础消息系统、支付系统,到银行,无不为之付出了大量的人力和物力。作为红包整个环节中的发(即支付)这一步,支付系统承担了重要的责任。

在介绍2016年支付系统之前,先简单回顾一下。2015年,红包支付以迅猛的趋势快速增长。2015年5月,节日红包就已经突破了除夕的峰值。到年底的时候,日常更是已经达到每秒2万笔以上的支付峰值。2015年春节,我们的支付系统为了红包做了充分的准备并顺利完成了春节任务,支撑红包支付突破每秒1万笔的峰值。但是回过头来看,虽然对支付系统做过很多次优化,但仍然存在一些不足。

2015年,我们为红包支付做的优化有以下几项:

  • 支付核心路径梳理简化;

  • 通过预演确定请求访问模型,制定核心模块的支撑容量;

  • 关键模块自我保护机制;

  • 准静态数据多级缓存保护;

  • 非核心功能手工降级。

虽然做了这些优化,在经历过2015年春节后,我们发现了一些不足之处:

  • 链路耦合:红包交易对整体支付系统的冲击很大,也一定程度影响到了商业支付;

  • 简单粗暴的旁路保护:核心模块与非核心模块的容量并不平衡,虽然核心模块对非核心模块的异常有自保措施,无法避免非核心模块在高压下过载;

  • 支付异常体验差:支付扣款环节的异常的体验不闭环,支付结果不明确,容易导致用户产生重复支付行为;

  • 降级处理慢:人工降级的决策和实施时间较长,影响业务恢复的及时性;

  • 内部安全风险:为了赶业务目标,内部的部分资金敏感接口处于“裸奔”状态,随时可能成为安全问题的定时炸弹。

针对2016年春节,我们定下了支撑峰值每秒10万笔的目标,再加上上面提到的不足,系统的可用性保障面临较大的挑战。接下来分享一下我们所做出的准备工作。

支付架构

经过详细分析和设计,2016年春节的红包支付架构引入了几个新的变化。

独家 | 微信摇一摇红包背后的技术细节

1红包交易链路独立

  • 针对红包的交易链路做隔离,除了一些公共服务及收款渠道服务(零钱系统和银行清算系统)以外,彻底和商业支付分开;

  • 链路独立后,一个好处是可以针对红包的特点,大幅简化支付处理逻辑,另一个好处是,可以独立针对红包链路单独做柔性降级处理,而不会影响商业支付的体验。

2极简红包支付逻辑

针对红包系统的支付下单请求,仅验证内部票据即可,原有的大量鉴权逻辑及支付渠道按规则选择逻辑可以全部裁剪,对周边系统的依赖几乎可以降为零;

针对红包的支付过程快的特点,将交易流程的上下文session数据换成高性能、低成本、低容灾级别的全内存服务集群处理,即使某台内存存储的机器故障,也只会影响极短时间的一小部分的用户支付;

针对红包是最简单的支付业务形态的特点,不记录交易单据,以红包业务单据来代替,红包业务系统直接和资金系统进行最终交易对账处理。如此进一步减少红包支付逻辑的复杂度,提高整体可用性。

3高可靠消息总线解耦非核心模块

  • 建设超高可靠、超大队列容量、灵活控制消费频率的消息总线系统;

  • 解除非核心模块在高压力业务路径中的调用耦合,对红包高峰涌来时产生的巨量内部非核心模块调用进行削峰,减少冲击导致过载。

4票据系统全程保护调用的安全

  • 支付系统内部接口敏感性高,需要确保接口使用的安全性;

  • 在用户及商户鉴权的同时,生成不可伪造的票据,在业务过程中,由底层中间件系统全程携带票据到各个接口,并进行必要的接口请求合法性验证。

高并发下的异常应对

1多IDC容灾

  • 由于业务峰值高,容灾冗余的成本非常大,无法做到完全任意IDC故障不影响业务,容灾策略上有所权衡;

  • 所有可以做到业务无IDC状态的服务,至少有两个地点的IDC服务集群;

  • 每个服务的所有IDC服务集群中,最多只能有一个集群,如果发生故障,另外的集群无法全量接管请求量;

  • 万一极端情况出现,降低设计容量,进行业务限流。

2优先零钱

  • 由于大量高频的群红包绝大比例是小额红包,所以但凡发现用户零钱够,就优先默认帮用户选择零钱来支付(用户也可以手工修改为其他支付方式);

  • 一方面大幅减少群里面小金额红包支付对可控性相对较差的银行渠道的压力,另一方面也降低了支付资金操作接口的耗时,进而降低系统服务处理的并发程度及负载,还可以提升用户的支付体验。

3自动QOS

  • 按是否核心链路、重要程度做、是否明显影响用户体验几个方面,对接口作优先级分档排序;

  • 当有高并发请求时,系统监控到有抖动时(服务队列满、系统错误突增、机器负载高、io高 等),自动从低优先级的接口开始做快速拒绝,逐步恢复系统。

4消除支付异常的等待及不明确

  • 前端调用支付流程如果出现非明确的异常(银行收款超时,系统内部抖动,网络异常等),此时扣款渠道有可能已经成功,也有可能未成功,着急的用户可能会连续支付多笔,而胆小的用户也许不敢再发起支付;

  • 在高并发下,这种异常会更加频繁产生,因此需要全面提升支付异常下的体验:

  1. 在支付流程异常时,发布支付结果未明的事件到可靠消息总线;

  2. 可靠消息总线在一定的用户可接受的等待延迟后,进行扣款渠道的单据结果确认,如果尚未成功,则对当次扣款渠道单据进行锁定,保障后续一定不会再成,如果实际的资金已经发生,则还需要负责及时将资金退回;

  3. 在整个过程中,每一步确认及操作的结果均通过微信支付消息触达到用户来透明信息,减少用户的困惑及等待。

5其他体验柔性

钱包首页体验柔性

  • 由于在摇红包后或者发红包高峰时,大量用户会进入钱包首页查看零钱,此时对余额和绑卡数据的查询量会非常大,极可能影响收银台的相关功能稳定性;

  • 针对首页查询设置固定的限流值来保护后端系统,在限流时,钱包首页的零钱将使用客户端的缓存数据,不会自动刷新,并且会挂出延迟公告,需要再进入下一级的零钱界面(大概是首页访问量的1/7),才会刷新。

朋友圈红包降级

针对朋友圈红包(发红包看图),设计了惊喜体验的巧妙降级逻辑,当支付系统异常时,会不断提高彩蛋(免单)的比例,以减少对支付系统的压力,直至业务恢复或者全部降级。

交易流水记录缓存

如果交易流水查询系统出现异常,客户端及H5页面会自动将最近访问到的缓存数据进行展示,并挂出数据延迟公告。

小结

对比2015年,2016年的红包支付系统在高压下的可用性前进了一大步。但是和以往一样,我们依然看到了很多的不足之处,在可用性优化的路上,面对越来越大的压力,永远没有最优的架构和系统。我们会再针对新的问题,继续优化,迎来2017年的春节考验,也希望大家继续关注微信红包,见证系统的不断成长。

作者介绍

姜楠,毕业之后即投身支付系统后台的设计及开发工作,早期在财付通参与对外清算及交易系统开发,后整体负责了微信支付系统从无到有的设计及搭建,经历了微信支付快速发展过程中的各种性能及可用性挑战,未来目标是在保障系统高资金安全及高可用性的架构设计上不断前行。

本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023-09-23 16:48
下一篇 2023-09-24 11:04

相关推荐

  • vivo x9如何刷机(如何用vivo x9刷机)

    可以利用官方自带的recovery来给手机刷入官方原版的系统包 准备工作: 1、确保你的手机能用usb数据线连接电脑。 2、备用一下手机里的重要信息,比如联系人、短信。 3、下载v…

    2023-01-31
  • 云闪付怎么样(云闪付怎么样最多可以转多少钱)

    我觉得云闪付还是很不错的,毕竟是银联和闪付一起搞的,背后是银行,财力还是十足的,更重要的是可以让我们的生活更加方便,支付场景比较多,优惠力度比较大。 我以前也没用过云闪付,但是因为…

    2023-02-04
  • 华为am115耳机麦克风无声,华为am116耳机插到底就没声音了

    华为AM115耳机 前二年,华为商城买的华为AM115 耳机49元。近日右侧塞不出声儿了。看我是如何修复。 首先,判断故障点。 耳机插入手机,随便播放个音乐让正常的耳机出声音。然后…

    2023-09-03
  • 10秒被骗5万元(一分钟被骗8万)

    又一起AI换脸诈骗事件被报道,整个过程仅9秒钟,受害者就被骗走了245万元。 5月25日,据媒体消息: 今年4月,安徽安庆经开区发生一起“冒充熟人”诈骗案,诈骗分子使用了一段9秒钟…

    2023-06-03
  • 战斗机模型开箱,一加3t开箱上手科技美学

    下水开箱、空中开箱,梦里开箱。。。对于手机的开箱方式,网友好像已经玩了一个遍。不过,近期有一位国外网友在一架战斗机中进行了一加3T手机的开箱。抛去其它的因素不说,给笔者第一感觉就是…

    2023-03-13
  • intelhdgraphics510能玩游戏么

    Intel(R) HD Graphics是Intel一系列的集成显示核心,中国大陆官方中文品牌名称为核芯显卡,俗称集成显卡。不同于以往集成在芯片组的显示核心,此次显示核心是集成于处…

    2023-06-18
  • 6个你一定用的到的照片小功能软件

    你有没有这种困惑?苦心找的角度,凹了挺好的造型但拍出的照片总觉得差点意思,为什么场景有画面感却好像气氛不够?这时候,也许可以靠滤镜拯救一下。 说起滤镜,麻烦又来了。手机滤镜千千万,…

    2023-07-16
  • 三国好看吗(三国系列好看吗)

    东汉末年,宦官谋权,西凉董卓领兵勤王,立献帝,权倾朝野,指染后宫,旧臣屈身事贼,诸侯纷纷起势讨贼,匡扶汉室。 吾日省吾身,倍感焦虑,世上英俊潇洒之人比比皆是,奈何吾才高艺精,掩众人…

    2023-07-04
  • ios系统升降级通道(ios系统直接升顶级)

    首先说明下:正常情况下,iOS设备是只能升级,不能降级的,或者在新系统推出后的一段时间内可以降回之前的版本,例如16.4现在可以降回16.3.1;但这个时间很短,可能一两周时间; …

    数码科技 2023-06-27
  • iphone无法连接电脑没反应了

    iPhone怎么连接电脑上网?iPhone连接电脑上网时间:2015-12-15 17:45栏目:教 程 iPhone怎么连接电脑上网?iPhone连接电脑上网iPhone可以连接…

    2023-05-10