首页 » 网站推广 » PHP红包雨接口技巧_基于RedisNettyWebsocket实现红包雨活动

PHP红包雨接口技巧_基于RedisNettyWebsocket实现红包雨活动

访客 2024-12-16 0

扫一扫用手机浏览

文章目录 [+]

支撑营销活动,拉新,提升品牌影响;红包是花币或者实物奖品,活动后线下找运营同事兑换。

参考成熟技能实现方案:

PHP红包雨接口技巧_基于RedisNettyWebsocket实现红包雨活动

基于Netty NIO实现以较少资源支持更多的并发连接.基于Websocket实现双工通信,客户端可以要求,做事端可以反向推送数据.

实现逻辑

PHP红包雨接口技巧_基于RedisNettyWebsocket实现红包雨活动
(图片来自网络侵删)

一、运营管理台配置完数据,持久化活动数据、红包数据到MySQL

二、初始化数据和定时任务

初始化接口: 缓存红包数据到Redis,Hash构造,Key是活动ID,Value中哈希构造 key:红包工具ID value:序列化的红包工具.更新、删除接口: Redis中红包数据的.设置Quartz定时任务

三、红包详细接口

查询红包雨活动:用户进入场景,创造红包发射器,客户端连接netty+ webSocket,立时调用该接口。
查询当前场景是否存在活动.红包雨活动倒计时: 用户查询过红包雨活动后,会登记进入本红包雨场景。
红包雨活动红包信息: 当红包雨活动开始后,做事端会做事端会以1次/秒的频率向端侧推送红包雨信息.红包雨活动结束: 当红包雨活动结束后,做事端会向端侧推送一条红包雨结束.抢红包: set ex nx 加分布式锁抢红包,锁也是Hash构造缓存在Redis推送红包被抢: 当同场次其他用户抢红包后,做事器向用户推送某些红包已经被抢走的。
业务做事 (Netty, Websocket)向Kafka发送,同时每个业务做事订阅Kafka, consumer group id设置唯一以作广播效果,消费后向连接到本做事的客户端推送 “红包被抢”,客户端吸收后对被抢红包实现视觉效果(爆炸、拆开等).

作者:Redfisky链接:https://juejin.cn/post/6948668223751454733来源:掘金

标签:

相关文章