分布式事务产生的原因

全文:Java-微服务下的分布式事务介绍及其解决方案-目录导航


文章目录

    • 分布式事务产生的原因
      • 1、数据库分库分表
      • 2、应用SOA化

第二步:找到这个问题产生的原因:分布式事务产生的原因

分布式事务产生的原因

我们知道了什么是分布式事务:就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证数据库中的数据一致性。

从中我们可以了解到有两个关键点:

  • 一次事务操作用到了两个数据库
  • 一次事务操作,整个链路用到了多个系统

所以有以下两种原因:

1、数据库分库分表

当数据库单表一年产生的数据超过1000W,那么就要考虑分库分表,具体分库分表的原理在此不做解释,简单的说就是原来的一个数据库变成了多个数据库。这时候,如果一个操作既访问01库,又访问02库,而且要保证数据的一致性,那么就要用到分布式事务。

分布式事务产生的原因_第1张图片

2、应用SOA化

所谓的SOA化,就是业务的服务化。比如原来单机支撑了整个电商网站,现在对整个网站进行拆解,分离出了订单中心、用户中心、库存中心。对于订单中心,有专门的数据库存储订单信息,用户中心也有专门的数据库存储用户信息,库存中心也会有专门的数据库存储库存信息。这时候如果要同时对订单和库存进行操作,那么就会涉及到订单数据库和库存数据库,为了保证数据一致性,就需要用到分布式事务。

分布式事务产生的原因_第2张图片

以上两种情况表象不同,但是本质相同,都是因为要操作的数据库变多了!

你可能感兴趣的:(微服务和分布式,分布式事务产生的原因)