互联网|最全解密微信红包随机算法
本文内容编写时 , 参考了网上的资料 , 详见“参考资料”部分 , 感谢分享者 。
1、引言这个系列文章已经整理了10篇 , 但都没有涉及到具体的红包算法实现 , 主要有以下两方面原因 。
【互联网|最全解密微信红包随机算法】一方面是各社交/IM产品中的红包功能同质化严重 , 红包算法的“可玩性”便是“核心竞争力所在” , 这是同质化功能的差异化竞争思路 , 不会随便公开 。
另一方面 , 市场上还存在各种抢红包插件这类灰产存在 , 一旦公开这些算法 , 很可能又被这帮插件开发者们搞出什么幺蛾子 。
所以 , 这样的情况下 , 如果要做社交/IM产品中的红包功能 , 红包随便算法该怎么实现 , 基本上只能自已琢磨 , 很难找到大厂算法直接套用 。
本着即时通讯网一贯的im知识传播精神 , 我收集整理并参考了大量的网上资料 , 综合了比较靠谱的信息来源 , 便有了本文 。 本文根据有限的资料 , 分享了微信红包随机算法实现中的一些技术要点 , 并整理了两种比较靠谱的红包算法实现思路(含可运行的实现代码) , 希望能给你的红包算法开发带来启发 。
申明:本文资料整理自网络 , 仅供学习研究之用 , 如有不妥 , 请通知Jack Jiang 。
学习交流:
- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》- 开源IM框架源码:https://github.com/JackJiang2011/MobileIMSDK
本文已同步发布于“即时通讯技术圈”公众号 。
2、系列文章《社交软件红包技术解密(一):全面解密QQ红包技术方案——架构、技术实现等》《社交软件红包技术解密(二):解密微信摇一摇红包从0到1的技术演进》《社交软件红包技术解密(三):微信摇一摇红包雨背后的技术细节》《社交软件红包技术解密(四):微信红包系统是如何应对高并发的》《社交软件红包技术解密(五):微信红包系统是如何实现高可用性的》《社交软件红包技术解密(六):微信红包系统的存储层架构演进实践》《社交软件红包技术解密(七):支付宝红包的海量高并发技术实践》《社交软件红包技术解密(八):全面解密微博红包技术方案》《社交软件红包技术解密(九):谈谈手Q春节红包的设计、容灾、运维、架构等》《社交软件红包技术解密(十):手Q客户端针对2020年春节红包的技术实践》《社交软件红包技术解密(十一):最全解密微信红包随机算法(含演示代码)》(* 本文)3、微信红包算法要点汇总
这是目前能找到的仅有的一份 , 有微信团队人员参与的微信红包算法技术要点的讨论资料 。 分享于2015年 , 差不多是微信红包刚火没多久 , 大概是微信技术团队的人当时没有现在这些技术之外的顾虑 , 所以作了有限的分享 , 资料难得 , 本次重新整理了一下 , 可以作为参考资料使用 。 以下是资料正文 。
资料来源:来自InfoQ的某架构群的技术讨论 , 由朱玉华整理(个人博客是:zhuyuhua.com(目前已无法访问)) 。
资料背景:起因是有朋友在朋友圈咨询微信红包的架构 , 于是在微信团队成员参与讨论的情况下 , 我(指“朱玉华”)整理了这次讨论的技术要点 , 也就是下面的内容(内容为问答形式) 。
3.1、算法实现的技术要点
问:微信的金额什么时候算?
答:微信金额是拆的时候实时算出来 , 不是预先分配的 , 采用的是纯内存计算 , 不需要预算空间存储 。
为什么采取实时计算金额?原因是:实时效率更高 , 预算才效率低下 。 预算还要占额外存储 。 因为红包只占一条记录而且有效期就几天 , 所以不需要多大空间 。 就算压力大时 , 水平扩展机器是 。
问:关于实时实时性 , 为什么明明抢到红包 , 点开后发现没有?
答:2014年的红包一点开就知道金额 , 分两次操作 , 先抢到金额 , 然后再转账 。
2015年的红包的拆和抢是分离的 , 需要点两次 , 因此会出现抢到红包了 , 但点开后告知红包已经被领完的状况 。 进入到第一个页面不代表抢到 , 只表示当时红包还有 。
推荐阅读
- Spacex|卫星互联网轨道资源稀缺,中国航天如何与国际卫星界大亨竞争?
- 互联网|建行“数字人民币钱包”已上线 仅限部分测试地区开通
- 行业互联网|大华股份与大连量天科技签署战略合作协议
- 行业互联网|原创 估值2000亿!刘强东手中这张“独角兽”,成立时间竟然不到两年?
- 行业互联网|李炳忠15点正式官宣,realme成立2年,稳居全球第七!
- 互联网|同城跑腿配送生意好做吗?需要注意什么?
- 互联网|招生部门公号也有高仿?!微信回应:已清除三千多个
- 互联网|马云最重要一次蜕变,高考失利后蹬三轮遇见他,改变了其一生轨迹
- 行业互联网|中兴通讯发布2020年半年度报告 营业收入达472亿元
- 互联网乱侃秀|5nm芯片,有EDA软件设计费4000万美元,没有EDA要77亿美元?