关于社交应用:社交软件红包技术解密十二解密抖音春节红包背后的技术设计与实践
本文由字节跳动技术团队开发工程师王浩分享,有较多订正。 1、引言对于挪动互联网时代的用户来说,短视频利用再也不是看看视频就完事,尤其抖音这种头部利用,曾经是除了传统IM即时通讯软件以外的新型社交产品了。 对于中国人一年一度最重的节日——春节来说,红包是必不可少的节日特定社交元素,而抖音天然不会被错过。在2022年的春节流动期间,抖音将视频和春节红包相结合,用户能够通过拍视频发红包的形式来给粉丝和好友送祝福。 本文将要分享的是春节期间海量红包社交活动为抖音所带来的各种技术挑战,以及抖音技术团队是如何在实践中一一解决这些问题的。 学习交换: 挪动端IM开发入门文章:《新手入门一篇就够:从零开发挪动端IM》开源IM框架源码:https://github.com/JackJiang2...(备用地址点此)(本文已同步公布于:http://www.52im.net/thread-39...) 2、系列文章《社交软件红包技术解密(一):全面解密QQ红包技术计划——架构、技术实现等》《社交软件红包技术解密(二):解密微信摇一摇红包从0到1的技术演进》《社交软件红包技术解密(三):微信摇一摇红包雨背地的技术细节》《社交软件红包技术解密(四):微信红包零碎是如何应答高并发的》《社交软件红包技术解密(五):微信红包零碎是如何实现高可用性的》《社交软件红包技术解密(六):微信红包零碎的存储层架构演进实际》《社交软件红包技术解密(七):支付宝红包的海量高并发技术实际》《社交软件红包技术解密(八):全面解密微博红包技术计划》《社交软件红包技术解密(九):谈谈手Q春节红包的设计、容灾、运维、架构等》《社交软件红包技术解密(十):手Q客户端针对2020年春节红包的技术实际》《社交软件红包技术解密(十一):最全解密微信红包随机算法(含演示代码)》《社交软件红包技术解密(十二):解密抖音春节红包背地的技术设计与实际》(* 本文) 3、先看看红包业务玩法抖音的整个红包流动玩法分为 B2C 和 C2C 两种玩法,上面对这两个玩法的流程简略介绍下,也不便读者了解后续的技术问题和解决思路。 3.1 B2C 红包在 B2C 红包玩法中,用户须要先来抖音或者抖 Lite 加入春节红包雨流动,有肯定概率在春节红包雨流动中取得红包补贴。 用户能够在取得补贴后间接跳转到相机页面,或者在之后拍摄视频跳转到相机页面,在相机页面用户拍摄完视频后会看到一个红包挂件,在挂件中能够看到已发放补贴。 用户抉择补贴后点击下一步实现投稿后即可实现视频红包的发放。 如上图所示,从左至左:“图1”是春节红包雨流动、“图 2”是红包补贴 、“图 3”是红包挂件、“图4”是B2C的红包发送 tab 页。 3.2 C2C 红包在 C2C 红包玩法中,用户拍摄视频点击挂件,填写红包的金额和个数信息,抉择红包的支付范畴后,点击发送红包会拉起收银台,用户领取实现后点击下一步公布视频,即可实现 C2C 红包的发放。 如上图所示,从左至左:“图1”是C2C 红包发送 Tab 页 、“图2”是领取界面、“图3”是红包领取后挂件展现。 3.3 红包支付B2C 和 C2C 红包的支付流程都是一样的。 用户在抖音刷视频遇到有视频红包的视频时,视频下方有个支付红包按钮,用户点击红包支付,会弹出到红包封面。 用户点击红包封面的开红包后即可支付红包,支付胜利后会显示支付后果弹窗,在支付后果中用户能够看支付金额,以及跳转到支付详情页,在支付详情页中能够看到这个红包其余用户的支付手气。 如上图所示,从左至左:“图1”是红包视频、“图2”是红包封面、“图3”是红包支付后果、“图4”是红包支付详情。 最初,C2C视频红包有个推广视频,大家能够更形象地理解下整体操作流程:(点击下方视频能够播放 ▼) 4、技术挑战4.1 通用红包零碎的设计问题在上节中有提到,本次春节流动(指的是2022年春节)须要同时反对 B2C 和 C2C 两种类型的红包。 这两个类型的红包既有一些类似的业务,也有很多不同的业务。 在相同点上:他们都包含红包的发放和支付这两个操作。在不同点上:比方 B2C 的红包发放须要通过应用补贴来发送,而 C2C 的红包发放须要用户去实现领取。B2C 的红包用户支付后须要去提现,而 C2C 的红包用户支付后间接到零钱。 因而须要设计一个通用的红包零碎来反对多种红包类型。 ...