编者按与传统意义上的红包相比,近两年火起来的“红包”,似乎才是如今春节的一大重头戏 。历经上千年时代传承与变迁,春节发红包早已成为历史沉淀的文化习俗,融入了民族的血脉 。按照各家公布的数据,除夕全天微信用户红包总发送量达到10.1亿次,摇一摇互动量达到110亿次,红包峰值发送量为8.1亿次/分钟 。春晚直播期间讨论春晚的微博达到5191万条,网友互动量达到1.15亿,网友抢微博红包的总次数超过8亿次 。
为此,InfoQ策划了“春节红包”系列文章,以期为读者剖析各大平台的红包活动背后的技术细节 。本文为微博篇 。
随着互联网的发展,打破了以往传统的发红包,带给了红包全新的玩法 。微博红包已经成为用户给粉丝拜年的一种途径,土豪版成为土豪刷存在感的方式 。每年的红包大战都是用户的现金盛宴,对于整个系统却是残酷的考验 。
微博有8亿注册用户,单日活跃用户数1.34亿的社交平台 。红包在微博平台上运行,针对所有的微博用户开放,微博所有用户都可参与红包活动 。微博红包有如下特点:
1.红包价值高、种类多、覆盖用户广,亿级别用户参与 。
2.半点准时开抢,高并发访问、瞬间峰值高,每分钟带来上亿次的抢红包峰值 。
3.请求快速响应,更新亿级用户中奖状态及红包状态 。
4.单个红包数额大 。
春晚当天红包总价值超过10亿,有1.34亿用户参与,产生了8亿多次的抢红包行为,其中并发量为平时峰值的10倍左右 。在服务器数量一定的情况下,如何构建高并发操作、瞬间峰值高的稳定服务?对于团队和架构师都是一个极大的挑战 。这时候系统的架构尤为重要!
红包架构
微博红包支持每秒几十万次的操作,应对突发性的热点事件,快速响应,高内聚低耦合的服务成了架构首先要考虑的因素 。
文章插图
微博是社交型应用,红包在用户数据、关系、抢红包等结构上存在着各种各样复杂的依赖,这些依赖相比其它应用来说,调用频率更高,性能要求也更高 。
如上图所示,有多个应用模块接入红包的服务层,服务层由多个节点组成,每个节点对应相应的功能并且相对独立 。代码模块的使用和组织上相对独立,保证主功能的快速和稳定,将附属的新功能分离在独立模块中 。其中红色虚线框内为核心的功能模块,是重点需要保护的功能 。
微博红包提供获取红包属性(红包金额、红包设置、红包状态、获取抽取结果列表、拆包,抽奖等)接口 。服务层调用红包SDK相应的API,会根据应用层逻辑需求提供数据和定制化得数据,完成前端完成交互,达到应用层需要展现的效果 。
防刷策略
微博红包有别于微信用户发出的红包,微信用户发出的红包是针对自己所认识的朋友或者已存在于微信群的用户;微博红包是针对于微博所有用户的红包,通过分析参与红包的用户数据每年都会产生一些囤积大量账号准备在春晚大发横财的公司和个人 。如何防止微博红包被自动注册或者通过转卖账号来领取红包?这成为面对我们需要解决的一大问题 。
文章插图
微博通过基于用户在微博上的行为分析,通过登录,发微博,身份验证等方面来进行分析 。主要有:
1.用户注册:通过用户行为分析来识别机器注册的用户,则注册环节进行拦截 。
2.用户登录:分析用户登录的行为,通过验证码,身份验证以及手机号验证等措施来提高机器自动登录的门槛 。
3.账号质量:通过实名认证,微博的动态等方面来计算出用户的质量 。
4.参与红包:红包战场一贯是刷奖账号的获利主战场,通过用户平时在微博的行为、属性以及实时的登录状态和常用设备来进行分析,判断是否是正常账号来确定是否可以中奖 。
完善的监控
红包系统是一个大而规则复杂的系统,系统越大,依赖的资源越多,也就越容易出现各种各样的问题 。为了给提供稳定运行的服务,必须要能时刻知晓各个资源当前的运行状态 。并且在系统出现异常之前或者出现异常的时候,对问题进行排查和定位 。
文章插图
文章插图
推荐阅读
- 北大教授评张贤亮 张贤亮情人微博
- 解密武夷山茶文化
- 微博广告系统全景运维大法
- 速途网宋鹏,微博或成为茶叶电商行业的标配
- 黑客攻击解密 分析选定的网络进行……
- 腾讯万亿级Elasticsearch技术解密
- 客厅家具风水大解密
- 接新娘红包 新娘堵门要红包
- 你的网络数据安全吗?知道数据常用的加解密方法吗?
- 微信转账与发红包的五个区别 长知识了