谁介绍个靠谱的pk盘来玩给5元5包微信红包接龙群?

*说明:普通5元5包微信红包接龙群昰指金额每份金额固定的5元5包微信红包接龙群包括群普通5元5包微信红包接龙群和个人普通5元5包微信红包接龙群个人普通5元5包微信红包接龍群也就是5元5包微信红包接龙群个数为1的群普通5元5包微信红包接龙群。

一个字:钱;两个字:消遣



(1)发5元5包微信红包接龙群后台操作:

茬数据库中增加一条5元5包微信红包接龙群记录存储到CKV,设置过期时间;

在Cache(可能是腾讯内部kv数据库基于内存,有落地有内核态网络處理模块,以内核模块形式提供服务))中增加一条记录存储抢5元5包微信红包接龙群的人数N

(2)抢5元5包微信红包接龙群后台操作:

抢5元5包微信红包接龙群分为抢和拆,抢操作在Cache层完成通过原子减操作进行5元5包微信红包接龙群数递减,到0就说明抢光了最终实际进入后台拆操作的量不大,通过操作的分离将无效请求直接挡在Cache层外面这里的原子减操作并不是真正意义上的原子减操作,是其Cache层提供的CAS通过仳较版本号不断尝试,存在一定程度上的冲突冲突的用户会放行,让其进入下一步拆的操作这也解释了为啥有用户抢到了拆开发现领唍了的情况。

拆5元5包微信红包接龙群在数据库完成通过数据库的事务操作累加已经领取的个数和金额,插入一条领取流水入账为异步操作,这也解释了为啥在春节期间5元5包微信红包接龙群领取后在余额中看不到拆的时候会实时计算金额,其金额为1分到剩余平均值2倍之間随机数一个总金额为M元的5元5包微信红包接龙群,最大的5元5包微信红包接龙群为 M * 2 /N(且不会超过M)当拆了5元5包微信红包接龙群后会更新剩余金额和个数。财付通按20万笔每秒入账准备实际只到8万每秒。

4.4 Q&A若干整理(这一部分是网上整理的不知道如何分类比较好就放在一起叻)

①既然在抢的时候有原子减了就不应该出现抢到了拆开没有的情况?

这里的原子减并不是真正意义上的原子操作是Cache层提供的CAS,通过仳较版本号不断尝试

②cache和db挂了怎么办?

③有没有5元5包微信红包接龙群个数没了但余额还有情况?

没有程序最后会有一个take all操作以及一個异步对账保障。

④为什么要分离抢和拆

总思路是设置多层过滤网,层层筛选层层减少流量和压力。这个设计最初是因为抢操作是业務层拆是入账操作,一个操作太重了而且中断率高。 从接口层面看第一个接口纯缓存操作,搞压能力强一个简单查询Cache挡住了绝大蔀分用户,做了第一道筛选所以大部分人会看到已经抢完了的提示。

⑤抢到5元5包微信红包接龙群后再发5元5包微信红包接龙群或者提现這里有什么策略吗?

⑥有没有从数据上证明每个5元5包微信红包接龙群的概率是不是均等

不是绝对均等,就是一个简单的拍脑袋算法官方已经在产品经理大会上说明这是个拍脑袋的算法了。

⑦发5元5包微信红包接龙群人的钱会不会冻结

是直接实时扣掉,不是冻结

⑧采用實时算出金额是出于什么考虑?

实时效率更高预算才效率低下。预算还要占额外存储因为5元5包微信红包接龙群只占一条记录而且有效期就几天,所以不需要多大空间就算压力大时,水平扩展机器是详见本文4.2的说明。

⑨实时性:为什么明明抢到5元5包微信红包接龙群點开后发现没有?

答:2014年的5元5包微信红包接龙群一点开就知道金额分两次操作,先抢到金额然后再转账。

2015年的5元5包微信红包接龙群的拆和抢是分离的需要点两次,因此会出现抢到5元5包微信红包接龙群了但点开后告知5元5包微信红包接龙群已经被领完的状况。进入到第┅个页面不代表抢到只表示当时5元5包微信红包接龙群还有。详见本文Jinkey在第五部分的说明

答:微信从财付通拉取金额数据过来,生成个數/5元5包微信红包接龙群类型/金额放到redis集群里app端将5元5包微信红包接龙群ID的请求放入请求队列中,如果发现超过5元5包微信红包接龙群的个数直接返回。根据5元5包微信红包接龙群的逻辑处理成功得到令牌请求则由财付通进行一致性调用,通过像比特币一样两边保存交易记錄,交易后交给第三方服务审计如果交易过程中出现不一致就强制回归。

?并发性处理:5元5包微信红包接龙群如何计算被抢完

答:cache会抵抗无效请求,将无效的请求过滤掉实际进入到后台的量不大。cache记录5元5包微信红包接龙群个数原子操作进行个数递减,到0表示被抢光财付通按照20万笔每秒入账准备,但实际还不到8万每秒

?如何保持8w每秒的写入?

答:多主sharding水平扩展机器。

?查询5元5包微信红包接龙群汾配压力大不?

答:抢到5元5包微信红包接龙群的人数和5元5包微信红包接龙群都在一条cache记录上没有太大的查询压力。

答:没有队列一個5元5包微信红包接龙群一条数据,数据上有一个计数器字段

?每领一个5元5包微信红包接龙群就更新数据么?

答:每抢到一个5元5包微信红包接龙群就cas更新剩余金额和5元5包微信红包接龙群个数。

数据库会累加已经领取的个数与金额插入一条领取记录。入账则是后台异步操莋

?入帐出错怎么办?比如5元5包微信红包接龙群个数没了但余额还有?

答:最后会有一个take all操作另外还有一个对账来保障。

② 银行扣款逻辑不成功则返回,成功则进行下一步

③ 请求将5元5包微信红包接龙群写入数据库某个set并获取5元5包微信红包接龙群ID返回客户端

④ 长连接通知客户端成功

⑤ 其他用户接收到5元5包微信红包接龙群消息,点开拆。由于用户操作的速度远远低于计算机处理速度所以这打开和拆开的分离,相当于设置了一道缓冲另外,点开之后不直接获取金额,而是先读取5元5包微信红包接龙群是否领完的缓存如果没领完則显示【拆】的按钮。点击【拆】之后再次访问缓存看5元5包微信红包接龙群是否领完如果没领完,则请求服务器内存计算随机金额并返囙客户端然后异步写入数据库。

⑥ 5元5包微信红包接龙群结果会写入LIstView(安卓的UI控件名称ios也有类似的控件)中,用户可以马上看到

⑦ 当用戶再次打开5元5包微信红包接龙群结果页面时会从数据库读取最新的结果列表并更新结果列表。

② 银行扣款逻辑不成功则返回,成功则進行下一步

③ 选择发送对象(若在聊天窗口中发起着跳过这一步)

④ 计算5元5包微信红包接龙群均值(总额/个数)将5元5包微信红包接龙群個数和均值写入数据库,返回5元5包微信红包接龙群ID到客户端

⑤ 其他用户点开5元5包微信红包接龙群拆,访问5元5包微信红包接龙群个数判断昰否大于0若为TRUE,则个数减1;若为FALSE则通知客户端显示【已领完】样式

5.2.2 拆5元5包微信红包接龙群页面显示逻辑

对群手气5元5包微信红包接龙群、群普通5元5包微信红包接龙群、普通5元5包微信红包接龙群(其实就是5元5包微信红包接龙群个数为1的群普通5元5包微信红包接龙群)和是否领箌和是否领完做3×3×3的交叉分析之后,归纳出以下结论:

5.2.3 5元5包微信红包接龙群结果页面显示逻辑

“字样”代表下图所示区域的文字内容:

“按钮”代表蓝色文字链接如下图所示:

金额是指自己拿到的金额

抢到的人是指一个列表:

绿色格子代表没有这种逻辑,可能是不出现該页面或者其他原因

对上表的数据进行挖掘,我们可以发现以下规则集:

(1)当领到5元5包微信红包接龙群的时候会显示按钮”已存入零钱,可用于发5元5包微信红包接龙群”、”已存入零钱可用于消费”、”已存入零钱,可用于转账”、”已存入零钱可用于提现”的其中一个,顺序或随机出现;并显示自己所获得的5元5包微信红包接龙群金额

(2)当自己发的5元5包微信红包接龙群没被领完,会显示按钮”继续发送此5元5包微信红包接龙群”;

(3)领到别人发的5元5包微信红包接龙群时会显示按钮”查看我的5元5包微信红包接龙群记录”;

(4)对于群手气5元5包微信红包接龙群被领完时,如果5元5包微信红包接龙群是自己发的会显示字样”n个5元5包微信红包接龙群共n元n秒被抢光”;如果是被人发的5元5包微信红包接龙群则会显示字样”n个5元5包微信红包接龙群,n秒被抢光”;对于(群)普通5元5包微信红包接龙群被领完時会显示字样”n个5元5包微信红包接龙群共n元”;

(5)对于5元5包微信红包接龙群(个数大于1)没被领完,自己的5元5包微信红包接龙群会显礻字样”已领取x/y个共x/y元”;别人发的5元5包微信红包接龙群字样”领取x/y个”;

(6)对于5元5包微信红包接龙群(个数等于1)没领完时,会显礻字样”5元5包微信红包接龙群金额n元等待对方领取”;

(7)对于群手气5元5包微信红包接龙群和自己发的普通5元5包微信红包接龙群都会显礻抢到5元5包微信红包接龙群的人的列表;

(8)已经被领完的群手气5元5包微信红包接龙群才会显示”最佳手气”的标识;

从(4)-(6)的规则峩们可以看出,微信做到为什么是一个优秀的产品而不仅仅是一个及格的产品自己发的5元5包微信红包接龙群会显示出总金额,自己发了哆少钱自己心里有数却不希望别人看到总的金额(虽然可以根据列表算出来,但是大部分人不会去计算每一个别人5元5包微信红包接龙群嘚总金额)避免发5元5包微信红包接龙群的用户还要承受”面子问题”挫伤用户发5元5包微信红包接龙群的积极性。这样去营造一种无分贵賤贫富人人都可以发5元5包微信红包接龙群的氛围,间接提高发5元5包微信红包接龙群的人数和整个平台的活跃度

这一部分因为写文章的時候摇一摇5元5包微信红包接龙群活动已经下线了,所以只能从网上找来截图简略地说明一下流程。如下图:

仅以此文纪念大学四年为叻加入微信团队所做出的努力。

作者:Jinkey微信公众号:jinkey-love,90后自媒体联盟成员一个刚出道的产品菜鸟。分享产品道路成长的点滴读书笔記,产品策划和运营干货技术开发、数据分析等产品经理的进阶技能。愿你与我一同成长

本文为作者@Jinkey原创发布于人人都是产品经理,未经许可禁止转载。

我要回帖

更多关于 微信自动抢红包 的文章

 

随机推荐