本编博客主要介绍分布式事务的概念以及行业解决方案。微服务架构越来越流行了。然而,微服务中一个普遍的问题是如何跨多个微服务管理分布式事务。 这篇文章将分享一些经验,并解释问题和可能解决该问题的模式
分布式事务概念
什么是分布式?什么是事务?
什么是分布式事务
当微服务架构将单体系统分解为多个服务时,它可能会打破之前的事务。 微服务架构意味着单体系统中的本地事务现在被分配到多个服务中,这些服务将按顺序调用。
首先我们来看一个单体系统当中使用local transaction的客户订单示例:
在上面的客户订单示例中,如果用户向一个单体系统执行“下订单Put Order”操作,则系统将创建一个在多个数据库表上工作的本地数据库事务。 如果任何步骤失败,则事务可以回滚。 这称为ACID(原子性,一致性,隔离性,耐久性),由数据库系统保证。
现在我们分解该系统为微服务,然后我们创建了CustomerMicroservice和OrderMicroservice两个微服务,它们具有单独的数据库。 拆分之后,下面是客户使用微服务的客户订单示例: