【SpringCloud】SpringCloud Alibaba Seata处理分布式事务

1. 分布式事务问题

 1.1 分布式前

单机单库没这个问题

  • 从1:1 -> 1:N -> N: N

1.2 分布式之后

单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源,业务操作需要调用3三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证, 但是全局的数据一致性问题没法保证。

用户购买商品的业务逻辑。整个业务逻辑由3个微服务提供支持:

  • 仓储服务:对给定的商品扣除仓储数量.
  • 订单服务:根据采购需求创建订单。
  • 帐户服务:从用户帐户中扣除余额.

创建订单——>扣减库存——>扣除金额

总之,一次业务操作需要跨多个数据源或需要跨多个系统进行RPC远程调用,就会产生分布式事务问题

2. Seata

Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

  • 官方文档地址:

猜你喜欢

转载自blog.csdn.net/qq_41893274/article/details/113788608