当前位置:网站首页>分布式事务产生的原因
分布式事务产生的原因
2022-08-09 06:44:00 【悬浮海】
全文:Java-微服务下的分布式事务介绍及其解决方案-目录导航
第二步:找到这个问题产生的原因:分布式事务产生的原因
分布式事务产生的原因
我们知道了什么是分布式事务:就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证数据库中的数据一致性。
从中我们可以了解到有两个关键点:
- 一次事务操作用到了两个数据库
- 一次事务操作,整个链路用到了多个系统
所以有以下两种原因:
1、数据库分库分表
当数据库单表一年产生的数据超过1000W,那么就要考虑分库分表,具体分库分表的原理在此不做解释,简单的说就是原来的一个数据库变成了多个数据库。这时候,如果一个操作既访问01库,又访问02库,而且要保证数据的一致性,那么就要用到分布式事务。
2、应用SOA化
所谓的SOA化,就是业务的服务化。比如原来单机支撑了整个电商网站,现在对整个网站进行拆解,分离出了订单中心、用户中心、库存中心。对于订单中心,有专门的数据库存储订单信息,用户中心也有专门的数据库存储用户信息,库存中心也会有专门的数据库存储库存信息。这时候如果要同时对订单和库存进行操作,那么就会涉及到订单数据库和库存数据库,为了保证数据一致性,就需要用到分布式事务。
以上两种情况表象不同,但是本质相同,都是因为要操作的数据库变多了!
边栏推荐
- pycharm环境包导入到另外一个环境
- 治疗消化性溃疡—Toronto Research Chemicals 甘氨酸铝
- XxlJobConfig分布式定时器任务管理XxlJob配置类,替代
- C language implements sequential stack and chain queue
- IQ Products巨细胞病毒CMV感染检测试剂盒的特征和应用
- ByteDance Written Exam 2020 (Douyin E-commerce)
- P6阿里机试题之2020 斐波那契数
- 抗菌药物丨Toronto Research Chemicals 天冬酰胺D
- 语句加锁分析
- TCP segment of a reassembled PDU
猜你喜欢
Redis 2 - 高级
网络学习总结
中英文说明书丨CalBioreagents 醛固酮单克隆抗体
Flask failed to create database without error
力扣第 305 场周赛复盘
05 多线程与高并发 - ThreadPoolExecutor 源码解析
中英文说明书丨CalBioreagents 山羊抗人白蛋白,IgG组分
Leetcode 70 stairs issues (Fibonacci number)
Distributed id generator implementation
C language implements sequential stack and chain queue
随机推荐
AD picture PCB tutorial 20 minutes clear label shop operation process, copper network
字节跳动面试题之镜像二叉树2020
VS2019常用快捷键
MongDb query method
思维方法 解决问题的能力
治疗消化性溃疡—Toronto Research Chemicals 甘氨酸铝
Service
Introduction and use of BeautifulSoup4
简单工厂模式
AD画PCB板教程 20分钟讲清楚操作流程 铺铜 网络标号
95后,刚工作2-3年就年薪50W+ ,才发现打败我们的,从来不是年龄···
细谈VR全景:数字营销时代的宠儿
单例 DCL(double check lock) 饱汉模式和饿汉模式
String.toLowerCase(Locale.ROOT)
力扣第 305 场周赛复盘
数据库中间件-jdbi
CalBioreagents超全Id 蛋白兔单克隆抗体,助力科研
图论,二叉树,dfs,bfs,dp,最短路专题
Output method of list string print(*a) print(““.join(str(c) for c in a) )
io.lettuce.core。RedisCommandTimeoutException命令超时