写点什么

架构实战营模块 7 作业

用户头像
Veek
关注
发布于: 1 小时前

游戲王者榮耀商城的異地多活架構設計


商城使用情境

主要充值买点券,点券作为真实货币和游戏币的唯一交换媒介。

玩家 15 级以上可以向赠送朋友礼物和向朋友索要,有心愿单和心愿点

与实体差异在没有库存和物流

另外它也没有商店,商店就是腾迅游戏。


CAP 无法三者都达到

在分区容忍下可以做到 CP

在一般情况下可以做到 CA


1 业务分级


2 数据分类

3 数据同步

可以适用:

1 事务合并:游戏玩家异地充值买点券 500,消费 288 点券,买一个英雄,即使 IDC-B 的业务服务器不知道玩家的实际点券 (在 IDC-A 的数据库中),业务也是可以继续处理的。


2 实时改异步:请求异地机房服务失败,不断重试


不适用:

1 消息队列同步:适合全局唯一的数据,因为可以覆盖,不适合商城点券的数据。

2 库存拆分:商城没有真正的库存。点券不适合这样拆分,需要强一致性,拆分会造成数据不一致。

3 适当容忍:点券同步可能不及时,若点券不足额,不能容忍消费该项物品。


4 异常处理

业务兼容:体验不好优于无法体验。数据短时间不一致。物品数量不一致。数据无法获取:支付核对中。

事后补偿:少量用户损失,用钱解决 礼包、物品

人工修正:尽力而为,减少损失。 人工订正数据,达到最终一致性。日志。

用户头像

Veek

关注

还未添加个人签名 2020.03.05 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块7作业