模块七:王者荣耀商城异地多活架构
1. 王者荣耀商城业务特点分析
王者荣耀商城业务主要有:碎片(英雄和皮肤)购买、英雄购买(点券或者金币)、皮肤购买(点券)、礼物、特惠等业务内容。
其中,核心业务是用点券购买皮肤或者英雄,因为这两项业务能够给王者荣耀带来收入。点券只能通过微信或者 QQ 充值获得,这两项属于虚拟业务,没有明确的库存概念。
综上分析,王者荣耀商城需要设计异地多活的业务架构主要是商城中的点券交易(登录业务的异地多活另需设计)。
2. 王者荣耀商城异地多活架构
2.1 数据分类
点券充值,由微信和 QQ 支付实现
王者荣耀需要在点券 ID 下保存充值记录,该记录只会新增,不会修改
创建订单,订单 ID 唯一,自增,不会减少
商品(英雄,皮肤):单个 RoleID 对应全局唯一的英雄和皮肤,不能重复购买;
2.2 数据同步
RoleID(英雄或者皮肤)和购买、查看购买的关系数据,数据只会增加,不会修改,数据库同步即可。
2.3 异常处理
登录异常:可以容忍,给出显著提示即可
购买异常:可以容忍,给出显示提示或者在登录后重试
购买后查看异常:给出提示,重试或者等待系统修复
数据未同步:可以容忍,等系统同步后再次查看
2.4 异地多活架构图
版权声明: 本文为 InfoQ 作者【jiaoxn】的原创文章。
原文链接:【http://xie.infoq.cn/article/947e4ffe5210ef1b52277daba】。文章转载请联系作者。
评论