集卡活动
功能分析
翻转卡片功能
查询瓜分资格功能
定时开奖功能
要求
高并发、高性能
高可用、高稳定性
资金安全:通过幂等、对账、监控与报警等机制,保证资金安全,保证用户资产不少发
运维
提前做好存储预估
资源隔离,不和核心业务部署在一个集群,不影响常规流量
接入层
应对高并发:按用户ID路由,对同一用户的所有请求,路由到同一服务器、存储中
存储
需要存的数据:抽卡次数;抽卡记录(已抽到的卡片);开奖记录
抽卡次数通过写 redis 扣减
已抽到的卡片通过消息队列异步写入db,数量大时可以分库分表
开奖
获奖用户量可提前计算出来,评估数量,提前准备号机器资源
获奖用户可通过离线任务计算出后写入DB/缓存/服务器内存
在DB/缓存里记录用户的领取状态;以用户ID,或为开奖记录生成自增ID(订单号),作为领取记录的key
入账方式:
同步入账,需要较多资源
异步入账,需要资源较少,但用户不能马上收到钱,可能体验不好
异步入账,并将入账状态同步至客户端。当用户进入提现页面时,客户端检查是否有未入账奖励,有则调用服务器同步入账
参考
Last updated