[架构实战营] 模块七作业
题目分析
题意总结
如题为虚拟物品商场的异地多活设计;
业务特性
虚拟商品不受库存影响;
虚拟商品不受物流影响,所以所有的商品购买后都即时到账户;
业务分类
商品:单次商品购买,多次商品购买;
点券:充值点券,退还点券;
这里充值和退还不是最关键业务,商品的购买才是关键业务;
数据分类
商品
高价值商品购买:强一致性,不可丢失;
单次商品购买:最终一致,不可丢失;
多次商品购买:最终一致,不可丢失;
点券
充值点券:强一致性,不可丢失;
退还点券:强一致性,不可丢失;
数据同步
强一致性,不可丢失:直接使用业务事务保证强一致性,将数据在一次事务内直接写入两个数据中心的数据库中;
最终一致,不可丢失:使用数据库同步方案,最终保证数据最终一致性;
异常处理
异常情况下,因为强一致性数据,无法完成业务事务,所以会全部失败;
但是可以保证余额是正常的,可以使用余额进行商品的购买;
对于数据中心失效时部分商品没有被同步至备份数据中心,可以通过对账日志进行商品的补还,并进行适当补偿;
版权声明: 本文为 InfoQ 作者【Geek_0ed632】的原创文章。
原文链接:【http://xie.infoq.cn/article/203ba3b1036c8ba84155a4ad5】。文章转载请联系作者。
评论