模块七 王者荣耀商城异地多活架构设计
•【业务功能】
•1.用户在商城购买英雄、皮肤、道具等;
•2. 王者荣耀的商城是虚拟物品商城,和淘宝这种实物电商有两个很大的区别:(1)库存无限,不需要考虑超卖之类的问题(2)没有物流,用户买完商品后,系统即可进行收货确认操作;
•3.用户要先调用微信钱包或者 QQ 钱包充值点券,然后在商城里面用点券支付;
•4. 用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买;
•5. 用户买鲜花、改名卡之类的道具可以买多个;
•【业务关键约束】
•登录用户才能购买商品;
•步骤 1.业务分级
此步骤略,因题意已经对王者荣耀业务进行过分级,分级结果是:核心业务是登录、对战、商城
•步骤 2.数据分类
•RoleID:登录后就不会变了;
•用户点券:全局强一致性;
•用户的英雄、皮肤、等级、成就、铭文等信息:全局强一致性;
订单信息:只会新增,不会修改
•步骤 3.数据同步
•RoleID:数据库同步;
•用户点券:全局强一致性,数据库同步;
•用户的英雄、皮肤、等级、成就、铭文等信息:数据库同步;
•购物车信息:全局强一致性,数据库同步;
•订单信息:只会新增,不会修改,数据库同步;
•步骤 4.异常处理
•1 用户在 a 中心购买了英雄后,a 中心挂了,用户在 b 中心看不到之前买的英雄
•等恢复了再看。
王者荣耀商城异地多活架构图如下:
版权声明: 本文为 InfoQ 作者【小朱】的原创文章。
原文链接:【http://xie.infoq.cn/article/fb93fe8e0689abefe99ef271e】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论