写点什么

模块七作业 - 王者荣耀商城异地多活架构设计

作者:🐢先生
  • 2023-06-04
    浙江
  • 本文字数:699 字

    阅读完需:约 2 分钟

业务背景

为了提高游戏的体验,游戏玩家会有英雄皮肤、装备等的需求,这些需求通过商城来满足。


设计步骤 1 - 业务分级

1.业务包括:登录、下单、支付(如金币、点券等)、充值。

2.核心业务:登录、下单、支付。

对于商城,不管是电商商城,还是游戏商城,它们都应该包含下单和支付,这是商城的内核。

回到游戏商城,我们知道有些地方和电商商城还是很不一样的,没有实际的商品,不会产生物流,业务会简单很多;另外,在支付场景,即使余额(这里指金币、点券等)不够,在一定范围内也是允许支付的,但是在电商商城里面是不被允许的。

基于上面的分析,我们不把充值作为核心业务,因为它不影响核心业务的使用。

设计步骤 2 - 数据分类

【登录】

依赖微信和 QQ 的授权登录,本身无需登录信息;

第三方返回全局唯一的 RoleID;

【下单】

RoleID:登录后不变;

订单 ID:每次新建,全局唯一,不会修改;

【支付】

RoleID:登录后不变;

订单 ID:每次新建,全局唯一,不会修改;

支付 ID:每次新建,全局唯一,不会修改;

设计步骤 3 - 数据同步

RoleID:只会新建不会修改,数据库同步即可;

订单 ID 和支付 ID:每次新建,全局唯一,不会修改,可用雪花算法生成,数据库同步即可;

设计步骤 4 - 异常处理

【登录】

第三方系统不可用,因为不可控,只能对外发布平台暂停使用公告;

【下单】

下单成功,异地机房未看到记录,稍后再看;

下单成功,支付成功,未获取到对应的商品,联系客户进行人工处理;

下单失败,稍后重试;

【支付】

余额不够支付,平台根据用户不同等级设计对应的规则,进行一定余额的超额支付;

异地多活架构示意图


备注:这里为什么不进行服务拆分呢?通过和电商商城的对比发现,游戏领域的商城业务复杂度低,没有必要进行微服务的拆分。

发布于: 刚刚阅读数: 3
用户头像

🐢先生

关注

还未添加个人签名 2018-01-19 加入

还未添加个人简介

评论

发布
暂无评论
模块七作业 - 王者荣耀商城异地多活架构设计_架构实战营_🐢先生_InfoQ写作社区