虚拟卡兑换架构设计

用户头像
孙志平
关注
发布于: 2020 年 09 月 25 日

1 设计概述

。。。。。



1.1 功能概述

后台系统包括的功能如下:

  • 大号管理

  • 积分管理

  • 商品管理

  • 订单管理

  • 财务管理



前台系统包括的功能如下:

  • 登录

  • 积分兑换商品

  • 下载兑换虚拟商品的卡号与卡密(excel 加密文档)

  • 订单查看



1.2 非功能约束

  • 系统安全性⽬目标:系统可拦截各种⾮非法请求,恶意攻击,卡密进行AES数据加密,客户端数据HTTPS加密,外部系统间通信对称加密;

  • 数据持久化⽬目标:>99.99999%;

  • 大号积分兑换目标:平均响应时间<100ms,95%响应时间<150ms,单机QPS > 1000

  • 系统核⼼心功能稳定性⽬目标:>99.99%;



2 系统部署图与整体设计

2.1 系统架构图



图中的api主要负责与第三方api进行数据交互,比如激活卡的异步通知,



2.2 系统部署图



redis:做缓存及分布式锁

数据库:一主一从做读写分离



3 虚拟卡商品导入设计

3.1 api导入

暂无



3.2 文件导入

文件格式为excel,导入主要字段是 卡号和卡密,导入的流程图如下图



导入的时序图如下





通过临时表再导入到正式表中,能够保证正式表中的id数字是连续的,这样我们就能在正式表中通过游标字段来控制取得数量,比如当前游标为0,我需要拿5张卡,那么首先 update set 游标 = 游标 + 5 where 游标 = 0,如果更新成功则 id 为 1 - 5 的虚拟卡将锁定,这样就能精确的选取想要的数据。

存在问题:如果客户退还卡,则这张卡就不能够再被选中

解决办法:现将该张卡设置为作废,然后再从新插入一次



4 积分兑换



用户头像

孙志平

关注

还未添加个人签名 2018.05.08 加入

还未添加个人简介

评论

发布
暂无评论
虚拟卡兑换架构设计