当前位置:网站首页>分布式事务产生的原因
分布式事务产生的原因
2022-08-09 06:44:00 【悬浮海】
全文:Java-微服务下的分布式事务介绍及其解决方案-目录导航
第二步:找到这个问题产生的原因:分布式事务产生的原因
分布式事务产生的原因
我们知道了什么是分布式事务:就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证数据库中的数据一致性。
从中我们可以了解到有两个关键点:
- 一次事务操作用到了两个数据库
- 一次事务操作,整个链路用到了多个系统
所以有以下两种原因:
1、数据库分库分表
当数据库单表一年产生的数据超过1000W,那么就要考虑分库分表,具体分库分表的原理在此不做解释,简单的说就是原来的一个数据库变成了多个数据库。这时候,如果一个操作既访问01库,又访问02库,而且要保证数据的一致性,那么就要用到分布式事务。
2、应用SOA化
所谓的SOA化,就是业务的服务化。比如原来单机支撑了整个电商网站,现在对整个网站进行拆解,分离出了订单中心、用户中心、库存中心。对于订单中心,有专门的数据库存储订单信息,用户中心也有专门的数据库存储用户信息,库存中心也会有专门的数据库存储库存信息。这时候如果要同时对订单和库存进行操作,那么就会涉及到订单数据库和库存数据库,为了保证数据一致性,就需要用到分布式事务。
以上两种情况表象不同,但是本质相同,都是因为要操作的数据库变多了!
边栏推荐
猜你喜欢
随机推荐
报错:flask: TypeError: ‘function‘ object is not iterable
Teach you how to make the Tanabata meteor shower in C language - elegant and timeless (detailed tutorial)
VS2019 common shortcut keys
单例 DCL(double check lock) 饱汉模式和饿汉模式
Use of PlantUML plugin in idea
工控设备的系统如何进行加固
简单使用Lambda表达式
Remember a nest.js route that matches all the path problems that follow
输入框最前面添加放大镜&&background-image和background-color冲突问题
Reverse Engineering
Distributed id generator implementation
电学知识的疑问
cut命令的使用实例
BeautifulSoup4的介绍与使用
APP商品详情源数据接口(淘宝/京东/拼多多/苏宁/抖音等平台详情数据分析接口)代码对接教程
longest substring without repeating characters
DDD 领域驱动设计
字节跳动笔试题2020 (抖音电商)
C语言实现顺序栈和链队列
CalBioreagents超全Id 蛋白兔单克隆抗体,助力科研