集卡活动

功能分析

  1. 翻转卡片功能

  2. 查询瓜分资格功能

  3. 定时开奖功能

要求

  1. 高并发、高性能

  2. 高可用、高稳定性

  3. 资金安全:通过幂等、对账、监控与报警等机制,保证资金安全,保证用户资产不少发

运维

  1. 提前做好存储预估

  2. 资源隔离,不和核心业务部署在一个集群,不影响常规流量

接入层

应对高并发:按用户ID路由,对同一用户的所有请求,路由到同一服务器、存储中

存储

需要存的数据:抽卡次数;抽卡记录(已抽到的卡片);开奖记录

抽卡次数通过写 redis 扣减

已抽到的卡片通过消息队列异步写入db,数量大时可以分库分表

开奖

  1. 获奖用户量可提前计算出来,评估数量,提前准备号机器资源

  2. 获奖用户可通过离线任务计算出后写入DB/缓存/服务器内存

  3. 在DB/缓存里记录用户的领取状态;以用户ID,或为开奖记录生成自增ID(订单号),作为领取记录的key

  4. 入账方式:

    1. 同步入账,需要较多资源

    2. 异步入账,需要资源较少,但用户不能马上收到钱,可能体验不好

    3. 异步入账,并将入账状态同步至客户端。当用户进入提现页面时,客户端检查是否有未入账奖励,有则调用服务器同步入账

参考

2个大厂 100亿级 超大流量 红包 架构方案

Last updated