写点什么

hw7 - 王者荣耀商城异地多活

作者:WWH
  • 2021 年 12 月 23 日
  • 本文字数:616 字

    阅读完需:约 2 分钟

业务数据

全年日活 1 亿,注册玩家数 6 亿,最高同是在线 100 万。

 

商城业务功能

浏览

购物(购物车,下单)

账户(交易记录,余额)

校验是否登陆(不能凭链接直接查看商品,在没有登陆的状态下)

 

关键业务约束

登陆才能购物

不同区服

       Android 平台和 iOS 平台数据不通

       不同平台分有不同区

金额足够才能交易

 

业务分级

浏览,下单是核心,因为它们跟盈利直接相关。

 

数据分类

假定同一微信/QQ ID 在同一 OS 的不同区的数据不可以共享

 

浏览

假定商城是需要登录才能浏览的

  • 需要保持登录的 session ID

商品数据

 

下单

  • 由于微信/QQ ID 被转换为 roleID

  • 需要 roleID,账户余额

  • 所购商品在本区的限额,校验是否还有库存

  • 但是这是虚拟商品,超卖一点儿也没有大问题。

  • 同样的英雄和皮肤只能买 1 个,不能重复购买。

  • 买鲜花,改名卡之类的道具可以买多个

  • 要校验用户的购买记录,是否允许再买

  • 确保用户有足够的余额,或者近似足够的余额。

 

数据同步

因为商城数据在个区之间是不通的,所以同一 roleID 在不同区购买的商品也是不共享的。每个区有自己的商品库和用户拥有的商品信息,数据库不同跨区同步,但是同区的数据需要备份/同步。

 

商城里的商品可以用消息队列同步,但是用户的购买记录必须要有幂等性。

 

异常处理

页面加载失败无法查看商城或商品页面。

       等恢复后再看

       因为商品是这个有些专属的。如果用户今天没有买到,他还需要,还是会再来购买的。

 

无法下单是同样的道理。

 

剩下的就是多地部署机器的方式。

用户头像

WWH

关注

还未添加个人签名 2020.10.29 加入

还未添加个人简介

评论

发布
暂无评论
hw7 - 王者荣耀商城异地多活