当前位置:首页 > 科技 >

抖音红包脚本(抖音抢福袋辅助器)

来源:原点资讯(www.yd166.com)时间:2023-04-23 03:40:10作者:YD166手机阅读>>

方案一也是最常见的思路,在用户领取时对数据库的红包进行加锁,然后扣减金额,然后释放锁完成整个红包领取。这个方案的优点是清晰明了,但是这种方案的问题会导致多个用户同时来领取红包时,会造成数据库行锁的冲突,需要排队等待,当排队请求过多时会造成数据库链接的浪费,影响整体系统的性能。同时在上游长时间未收到反馈导致超时,用户侧可能会不停重试,导致整体数据库链接被耗尽,从而导致系统崩溃。

红包预拆分方案

方案一的问题是多个用同时领取会造成锁冲突,解锁锁冲突可以通过拆分的方式,来将锁化成更细的粒度,从而提高单个红包的领取并发量。具体方案如下:

抖音红包脚本,抖音抢福袋辅助器(9)

在方案二中,对发红包的流程进行了一个改动,在发红包时会对红包进行一个预拆分的处理,将红包拆成多个红包,这样就完成了锁粒度的细化,在用户领取红包时从之前的争抢单个红包锁变为现在多个红包锁分配。从而在领取红包时问题就变为如何给用户分配红包,一种常用的思路是当用户请求领取红包时,通过 redis 的自增方法来生成序列号,该序列号即对应该领取那一个红包。但是这种方式强依赖 redis,在 redis 网络抖动或者 redis 服务异常时,需要降级到去查询 DB 还未领取的红包来获取序列号,整体实现比较复杂。

最终方案

在视频红包的场景中,整个业务流程是用户拍摄视频发红包,然后在视频推荐 feed 流中刷到视频时,才会触发领取。相对于微信和飞书这种群聊场景,视频红包中同一个红包的领取并发数并不会很高,因为用户刷视频的操作以及 feed 流本身就完成了流量的打散,所以对于视频红包来说,领取的并发数并不会很高。从业务的角度来看,在需求实现上,我们在用户领取完成后需要能获取到未领取红包的个数信息下发给用户展示,方案一获取红包库存很方便,而方案二获取库存比较麻烦。另外从系统开发复杂度和容灾情况看,方案一相对来说是一个更合适的选择。但是方案一中的风险我们需要处理下。我们需要有其他的方式来保护 DB 资源,尽量减少锁的冲突。具体方案如下:

抖音红包脚本,抖音抢福袋辅助器(10)

  • 红包 redis 限流
    • 为尽可能少的减少 DB 锁冲突,首先会按照红包单号进行限流,每次允许剩余红包个数*1.5 的请求量通过。被限流返回特殊错误码,前端最多轮训 10 次,在请求量过多的情况下通过这种方式来慢慢处理
  • 内存排队
    • 除了 redis 限流外,为了减少 DB 锁,我们在领取流程中加个一个红包内存锁,对于单个红包,只有获取到内存锁的请求才能继续去请求 DB,从而将 DB 锁的冲突迁移到内存中提前处理,而内存资源相对于 DB 资源来说是非常廉价的,在请求量过大时,我们可以水平扩容。
    • 为了实现内存锁,我们进行了几个改动。首先需要保证同一个红包请求能打到同一个 tce 实例上,这里我们对网关层路由进行了调整,在网关层调用下游服务时,会按照红包单号进行路由策略,保证同一单号的请求打到同一个实例上。另外我们在红包系统的 core 服务中基于 channel 实现了一套内存锁,在领取完成后会释放该红包对应的内存锁。另外为了防止锁的内存占用过大或者未及时释放,我们起了一个定时任务去定期地处理。
  • 转账异步化
    • 从接口耗时来看,转账是一个耗时较长的操作,本身涉及和第三方支付机构交互,会有跨机房请求,响应延时较长,将转账异步化可以降低领取红包接口的时延,提高服务性能和用户体验
    • 另外从用户感知来看,用户更关注的是领取红包的点击开后是否领取成功,至于余额是否同步到账用户其实感知没那么强烈,另外转账本身也是有一个转账中到转账成功的过程,将转账异步化对于用户的感知基本没有影响
稳定性容灾

整个红包系统的容灾我们主要从接口限流,业务降级和多重机制保证状态机的推进这几个方式来进行的,下面对这几个方式分别介绍下:

抖音红包脚本,抖音抢福袋辅助器(11)

接口限流

接口限流是一种常见的容灾方式,用于保护系统只处理承受范围内的请求,防止外部请求过大将系统打崩。在进行接口限流前,我们首先需要和上下游以及产品沟通得到一个预估的红包发放和领取量,然后根据发放和领取量进行分模块地全链路的大盘流量梳理,下面是当时我们梳理的一个 b2c 全链路的请求量。

抖音红包脚本,抖音抢福袋辅助器(12)

栏目热文

抖音红包如何弄(抖音红包在哪里设置)

抖音红包如何弄(抖音红包在哪里设置)

今天给大家分享一个抖音正版签到领积分兑换红包活动了。这个活动还有10多天才结束,我也是这两天才知道,虽然已经不能兑现大红...

2023-04-23 03:37:22查看全文 >>

抖音如何提现到微信(2023微信提现免费最新方法)

抖音如何提现到微信(2023微信提现免费最新方法)

抖音周末假日红包怎么提现?相信很多用户都参加的抖音周末假日活动中,相信也有很多的用户也领取到不到的现金,那么大家知道抖音...

2023-04-23 04:01:53查看全文 >>

抖音签到15天红包在哪(抖音在哪签到领红包)

抖音签到15天红包在哪(抖音在哪签到领红包)

说到抖音,全中国人没有不知道的,就是在全世界也是神仙级别的存在。但说到抖音能领金币赚钱,估计就有一半的用户不知其中的奥妙...

2023-04-23 03:43:03查看全文 >>

抖音购物红包怎么获得(抖音购物红包申请)

抖音购物红包怎么获得(抖音购物红包申请)

距离今年上半年的首个大促节点618仅剩53天,疫情之下艰难生存的商家都已经摩拳擦掌蓄势待发。几大电商平台中,抖音也率先公...

2023-04-23 03:30:33查看全文 >>

抖音拆红包互助(拆抖音红包的入口)

抖音拆红包互助(拆抖音红包的入口)

我们可以永远相信抖音官方的实力,可能是系统出现了错误,导致很多玩家都由666变成了166,不少玩家在昨天的时候就给客服打...

2023-04-23 03:42:25查看全文 >>

太阳镜买什么样的最好(太阳镜品牌十大排行榜)

太阳镜买什么样的最好(太阳镜品牌十大排行榜)

夏日阳光猛烈,除了注意皮肤防晒,眼睛防晒也不能忽视,接下来给大家推荐5个高性价比太阳镜品牌,好看不贵,风格百搭,男女老少...

2023-04-23 03:51:54查看全文 >>

太阳镜需要挑品牌吗(太阳镜有必要买品牌的)

太阳镜需要挑品牌吗(太阳镜有必要买品牌的)

来源:经济日报-中国经济网炎炎夏日,经常外出活动或室外工作较多的人亟需太阳镜。太阳镜能遮挡令人不舒服的强光,同时可以保护...

2023-04-23 03:52:37查看全文 >>

脸大女生适合什么样的太阳镜(脸大的女生适合戴的太阳镜)

脸大女生适合什么样的太阳镜(脸大的女生适合戴的太阳镜)

夏季就是太阳镜单品搭配率最高的季节,今天这篇给大家盘点2022人气单品太阳镜,出门炸街绝绝子普拉达Prada:双横梁设计...

2023-04-23 03:30:05查看全文 >>

选购太阳镜有什么技巧(太阳镜怎么挑选小妙招)

选购太阳镜有什么技巧(太阳镜怎么挑选小妙招)

炎炎夏日,阳光刺眼。遮阳、凹造型必备神器,你们都买了吗?太阳镜,也称作墨镜、遮阳镜,作为遮强光之用。特别是在夏天,急需采...

2023-04-23 03:39:15查看全文 >>

文档排行