基于Saga的分布式事务调度落地
全文4104字,预计阅读时间12分钟。 一、背景 随着微服务架构的兴起,越来越多的公司都对自身的业务架构进行了微服务化。在微服务架构中,随着服务的逐渐拆分,数据库的私有化已成为业界不成文的规定。因此伴随着微服务拆分所带来的数据一致性的问题也愈发严重,如何解决该问题成为微服务架构落地过程中一个非常重要的问题。由此我们引出分布式事务这一概念,用来解决上述背景带来的问题。在介绍分布式事务之前先让我们回顾一下什么是事务。 二、事务 事务是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务具有ACID四大属性。 A(Atomic):原子性,构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失败的情况。 C(Consistency):一致性,在事务执行前后,数据库的一致性约束没有被破坏。比如:数据库约束账户余额必须大于0,所以设置为无符号数,在此约束下,A只有100元,但要转出200元,此时数据库会保持对约束的一致性,触发执行回滚。 I(Isolation):隔离性,数据库中的事务一般都是并发...