分布式事务如何实现跨多个数据库的原子性操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计9259个文字,预计阅读时间需要38分钟。
1.3. 分布式事务,即不是在单个服务或数据库架构下产生的事务:+跨数据源的分布式事务+跨服务的分布式事务+综合情况+1。跨数据源+根据业务数据模型快速开发
1.3.分布式事务
分布式事务,就是指不是在单个服务或单个数据库架构下,产生的事务:
- 跨数据源的分布式事务
- 跨服务的分布式事务
- 综合情况
1)跨数据源
随着业务数据规模的快速发展,数据量越来越大,单库单表逐渐成为瓶颈。所以我们对数据库进行了水平拆分,将原单库单表拆分成数据库分片,于是就产生了跨数据库事务问题。
2)跨服务
在业务发展初期,“一块大饼”的单业务系统架构,能满足基本的业务需求。但是随着业务的快速发展,系统的访问量和业务复杂程度都在快速增长,单系统架构逐渐成为业务发展瓶颈,解决业务系统的高耦合、可伸缩问题的需求越来越强烈。
如下图所示,按照面向服务(SOA)的架构的设计原则,将单业务系统拆分成多个业务系统,降低了各系统之间的耦合度,使不同的业务系统专注于自身业务,更有利于业务的发展和系统容量的伸缩。
3)分布式系统的数据一致性问题
在数据库水平拆分、服务垂直拆分之后,一个业务操作通常要跨多个数据库、服务才能完成。在分布式网络环境下,我们无法保障所有服务、数据库都百分百可用,一定会出现部分服务、数据库执行成功,另一部分执行失败的问题。
当出现部分业务操作成功、部分业务操作失败时,业务数据就会出现不一致。
本文共计9259个文字,预计阅读时间需要38分钟。
1.3. 分布式事务,即不是在单个服务或数据库架构下产生的事务:+跨数据源的分布式事务+跨服务的分布式事务+综合情况+1。跨数据源+根据业务数据模型快速开发
1.3.分布式事务
分布式事务,就是指不是在单个服务或单个数据库架构下,产生的事务:
- 跨数据源的分布式事务
- 跨服务的分布式事务
- 综合情况
1)跨数据源
随着业务数据规模的快速发展,数据量越来越大,单库单表逐渐成为瓶颈。所以我们对数据库进行了水平拆分,将原单库单表拆分成数据库分片,于是就产生了跨数据库事务问题。
2)跨服务
在业务发展初期,“一块大饼”的单业务系统架构,能满足基本的业务需求。但是随着业务的快速发展,系统的访问量和业务复杂程度都在快速增长,单系统架构逐渐成为业务发展瓶颈,解决业务系统的高耦合、可伸缩问题的需求越来越强烈。
如下图所示,按照面向服务(SOA)的架构的设计原则,将单业务系统拆分成多个业务系统,降低了各系统之间的耦合度,使不同的业务系统专注于自身业务,更有利于业务的发展和系统容量的伸缩。
3)分布式系统的数据一致性问题
在数据库水平拆分、服务垂直拆分之后,一个业务操作通常要跨多个数据库、服务才能完成。在分布式网络环境下,我们无法保障所有服务、数据库都百分百可用,一定会出现部分服务、数据库执行成功,另一部分执行失败的问题。
当出现部分业务操作成功、部分业务操作失败时,业务数据就会出现不一致。

