当前位置:网站首页>分布式事务产生的原因
分布式事务产生的原因
2022-08-09 06:44:00 【悬浮海】
全文:Java-微服务下的分布式事务介绍及其解决方案-目录导航
第二步:找到这个问题产生的原因:分布式事务产生的原因
分布式事务产生的原因
我们知道了什么是分布式事务:就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证数据库中的数据一致性。
从中我们可以了解到有两个关键点:
- 一次事务操作用到了两个数据库
- 一次事务操作,整个链路用到了多个系统
所以有以下两种原因:
1、数据库分库分表
当数据库单表一年产生的数据超过1000W,那么就要考虑分库分表,具体分库分表的原理在此不做解释,简单的说就是原来的一个数据库变成了多个数据库。这时候,如果一个操作既访问01库,又访问02库,而且要保证数据的一致性,那么就要用到分布式事务。
2、应用SOA化
所谓的SOA化,就是业务的服务化。比如原来单机支撑了整个电商网站,现在对整个网站进行拆解,分离出了订单中心、用户中心、库存中心。对于订单中心,有专门的数据库存储订单信息,用户中心也有专门的数据库存储用户信息,库存中心也会有专门的数据库存储库存信息。这时候如果要同时对订单和库存进行操作,那么就会涉及到订单数据库和库存数据库,为了保证数据一致性,就需要用到分布式事务。
以上两种情况表象不同,但是本质相同,都是因为要操作的数据库变多了!
边栏推荐
猜你喜欢
随机推荐
Distributed id generator implementation
io.lettuce.core。RedisCommandTimeoutException命令超时
【修电脑】系统重装但IP不变后VScode Remote SSH连接失败解决
leetcode 之 零移位
ByteDance Written Exam 2020 (Douyin E-commerce)
【Wwise】ArgumentException: The specified path is not of a legal form (empty). About the path reading error in WwiseGlobal
事务总结
使用百度EasyDL实现智能垃圾箱
集合内之部原理总结
C语言实现顺序栈和链队列
物理层课后作业
如何 认识与学习BASH
默默重新开始,第一页也是新的一页
The division principle summary within the collection
Inception V3 Eye Closure Detection
Fragments
工控设备的系统如何进行加固
代码目录结构
MongDb的查询方式
P6阿里机试题之2020 斐波那契数