王者荣耀商城异地多活架构设计
背景
2020.11 月公布数据,全年日均活跃 1 亿,注册玩家数 6 亿,最高同时在线 100 万。
业务分析
商城提供购买英雄、皮肤、道具等虚拟物品;
用户要先调用微信钱包或者 QQ 钱包充值点券,然后在商城里面用点券支付;
用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买;
用户买鲜花、改名卡之类的道具可以买多个;
架构设计
1. 业务分级
业务特点:
1) 虚拟物品没有库存,
2)不能退换货
主要业务:
点券充值(余额一致性要求,所有区服余额一致)
英雄/皮肤购买(同一区服不可重复)
鲜花,改名卡购买(可重复购买)
2. 数据分类及同步方案
【点券充值】
点券余额强一致性要求,并且影响商品购买操作,采用主备模式进行数据库同步,保证数据准确一致
3. 异常处理
微信和 QQ 故障,游戏商城无法充值点券,只能等待其恢复
点券余额故障时,无法购买商品,等待系统恢复
购买数据异常导致用户看不到购买物品和记录,等待数据同步一致后方可看到
4. 总体架构
版权声明: 本文为 InfoQ 作者【极客土豆】的原创文章。
原文链接:【http://xie.infoq.cn/article/8f4d7f2c5f02d3ece21f860ff】。文章转载请联系作者。
评论