商城异地多活架构
业务背景
参照当期公开数据,该业务注册玩家数 6 亿、全年日均活跃 1 亿,在线用户 100 万。
业务约束
登录才能进入商城
微信钱包或者 QQ 钱包充值点券才能支付;
商城碎片、英雄、皮肤等为虚拟物品,不考虑库存和物流;
英雄和皮肤只能购买 1 个,不能重复购买;
鲜花、改名卡道具可买多个。
业务分级
主要涉及核心业务:
一是登录系统:进行游戏。
二是进入购物商城;进行点券充值(微信钱包、QQ 币)及点券购物(英雄、皮肤、道具)。
数据分类
商城主要数据包括:商品信息、用户交易信息(余额及充值信息、订单信息)
用户登录:依赖 QQ 和微信账号授权的 RoleID,全局唯一,不会改变;
商品信息:图片、功能、价格等信息,通常修改较少,全局数据
用户点券:点卷余额信息,与用户 RoleID 关联,全局强一致
支付信息:与微信/QQ 支付订单相对应,订单完成后不会再修改。
数据同步
商城内商品上架信息,数据库同步,最终一致性。
充值余额信息,强一致性数据库同步,不可丢失。
商品购买信息,强一致性数据库同步,不可丢失。
异常处理
用户充值:微信钱包、QQ 币出问题,对应进行停服公告处理。
账户余额:充值后未及时同步到异地机房,对用户显示支付结果待确认,根据交易记录进行客服人工核对、差错调整。
用户购物:商品种类、数量等数据未同步,从运营平台数据核对。
撤销无效订单。
同步长时间不能支付,考虑赠品补偿。
提示余额不足,暂时性提醒系统忙。
图 1:游戏购物商城异地多活架构示意图
评论