一旦数据库进行了分拆,那就出现很多头疼的问题,其中之一就是事务问题。那我们就来看看问题是怎么出现的?
场景
先来上个图
进行数据拆分后,就类似上面的架构,可以看老顾上一篇文章关于【Mysql的高可用架构】
上图中我们就拿用户的数据进行举例,用户量一旦几千万时,就需要进行分库分表;上图就分了3个库,每个库都保证了高可用。
这样的架构设计,会遇到事务问题,我们来看看具体的业务场景:用户A转账100元给用户B,这个业务比较简单,我们来分析一下里面具体的步骤:
1、用户A的账户先扣除100元 2、再把用户B的账户加100元
逻辑很简单,上伪代码
代码也是比较清晰的,感觉没有什么问题,那我们来分析一下问题在哪?
问题
我们看到在转账业务中,有两步,一个是操作用户A扣钱&#x