当前位置:网站首页>分布式事务产生的原因
分布式事务产生的原因
2022-08-09 06:44:00 【悬浮海】
全文:Java-微服务下的分布式事务介绍及其解决方案-目录导航
第二步:找到这个问题产生的原因:分布式事务产生的原因
分布式事务产生的原因
我们知道了什么是分布式事务:就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证数据库中的数据一致性。
从中我们可以了解到有两个关键点:
- 一次事务操作用到了两个数据库
- 一次事务操作,整个链路用到了多个系统
所以有以下两种原因:
1、数据库分库分表
当数据库单表一年产生的数据超过1000W,那么就要考虑分库分表,具体分库分表的原理在此不做解释,简单的说就是原来的一个数据库变成了多个数据库。这时候,如果一个操作既访问01库,又访问02库,而且要保证数据的一致性,那么就要用到分布式事务。

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

以上两种情况表象不同,但是本质相同,都是因为要操作的数据库变多了!
边栏推荐
猜你喜欢

Error jinja2.exceptions.UndefinedError: 'form' is undefined

线程的6种状态

Mysql实操

缓存技术使用

Distributed id generator implementation

Inception V3 闭眼检测

leetcode 之 70 爬楼梯问题 (斐波那契数)

Search 1688 product interface by image (item_search_img-search 1688 product by image (Politao interface) code docking tutorial

变压器的工作原理(图解,原理图讲解,一看就懂)

中英文说明书丨CalBioreagents ACTH N端单克隆抗体
随机推荐
mysql 总结
P6阿里机试题之2020 斐波那契数
Web APIs BOM- 操作浏览器:本地存储
报错jinja2.exceptions.UndefinedError: ‘form‘ is undefined
报错:FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disab
C语言实现顺序栈和链队列
单例模式
jdepend
常用Oracle命令
IQ Products巨细胞病毒CMV感染检测试剂盒的特征和应用
e-learning summary
顺序表删除所有值为e的元素
mysql summary
shardingsphere data sharding configuration item description and example
6 states of a thread
思维方法 解决问题的能力
The division principle summary within the collection
多米诺骨牌
详解C语言中的wait()函数和waitpid()函数
锁执行的过程