写点什么

第七章作业

用户头像
方堃
关注
发布于: 4 小时前

问题:王者荣耀商城异地多活架构设计

分析:

因为王者荣耀不需要注册,只需要通过微信或 qq 授权登录即可,因此无需考虑注册的情况。

其次虚拟商城,不存在库存不足的问题,只需要避免英雄和皮肤重复购买。

第三购买时并非直接使用金钱,而是使用来自微信、qq 的点券,因此购买凭据、失败处理都围绕点券处理。

设计:

集群需要与腾讯进行同步服务,确认账户的授权情况、点券情况;

用户通过路由,访问节点,优先按照地域进行划分;若归属的服务离线,则可以转到其他临时服务器;

用户购买某个商品,成功后扣除点券,在原归属服务重新上线后,临时服务器与原归属服务器进行同步,将这部分数据复制给它;因为购买动作是增量的,因此不需要修改原有的交易动作。

异常处理:若是英雄和皮肤,是不能重复购买的,因此数据同步发现重复购买后,可以退回点券;若是可重复购买的物品,可以直接退回原服务器离线时进行的购买物品,也可以不处理,直接累加物品数量


用户头像

方堃

关注

还未添加个人签名 2019.02.11 加入

还未添加个人简介

评论

发布
暂无评论
第七章作业