当前位置:网站首页>分布式事务产生的原因
分布式事务产生的原因
2022-08-09 06:44:00 【悬浮海】
全文:Java-微服务下的分布式事务介绍及其解决方案-目录导航
第二步:找到这个问题产生的原因:分布式事务产生的原因
分布式事务产生的原因
我们知道了什么是分布式事务:就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证数据库中的数据一致性。
从中我们可以了解到有两个关键点:
- 一次事务操作用到了两个数据库
- 一次事务操作,整个链路用到了多个系统
所以有以下两种原因:
1、数据库分库分表
当数据库单表一年产生的数据超过1000W,那么就要考虑分库分表,具体分库分表的原理在此不做解释,简单的说就是原来的一个数据库变成了多个数据库。这时候,如果一个操作既访问01库,又访问02库,而且要保证数据的一致性,那么就要用到分布式事务。
2、应用SOA化
所谓的SOA化,就是业务的服务化。比如原来单机支撑了整个电商网站,现在对整个网站进行拆解,分离出了订单中心、用户中心、库存中心。对于订单中心,有专门的数据库存储订单信息,用户中心也有专门的数据库存储用户信息,库存中心也会有专门的数据库存储库存信息。这时候如果要同时对订单和库存进行操作,那么就会涉及到订单数据库和库存数据库,为了保证数据一致性,就需要用到分布式事务。
以上两种情况表象不同,但是本质相同,都是因为要操作的数据库变多了!
边栏推荐
- MongDb的查询方式
- 语句加锁分析
- C语言的内置宏(定义日志宏)
- 顺序表删除所有值为e的元素
- 变压器的工作原理(图解,原理图讲解,一看就懂)
- 阿里巴巴官方技术号
- leetcode:55. 跳跃游戏
- 2022-08-08: Given an array arr, it represents the height of the missiles that will appear in order from morning to night.When the cannon shoots missiles, once the cannon is set to shoot at a certain h
- Error jinja2.exceptions.UndefinedError: 'form' is undefined
- 分布式id 生成器实现
猜你喜欢
CMake中INSTALL_RPATH与BUILD_RPATH问题
推进产教融合 赋能教育创新发展 | 华云数据荣获“企业贡献奖”
longest substring without repeating characters
Leetcode 70 stairs issues (Fibonacci number)
治疗消化性溃疡—Toronto Research Chemicals 甘氨酸铝
C# 利用iTextSharp画PDF
IQ Products CMV Brite Turbo试剂盒的原理
jvm线程状态
一道很简答但是没答对的SQL题
Error jinja2.exceptions.UndefinedError: 'form' is undefined
随机推荐
ByteDance Interview Questions: Mirror Binary Tree 2020
codeforces Valera and Elections (这思维题是做不明白了)
长沙学院2022暑假训练赛(一)六级阅读
图论,二叉树,dfs,bfs,dp,最短路专题
Quectel EC20 4G module dial related
分布式id 生成器实现
Simple Factory Pattern
变压器的工作原理(图解,原理图讲解,一看就懂)
电学知识的疑问
idea中PlantUML插件使用
报错:FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS重大开销和将disab补充道
cut命令的使用实例
缓存技术使用
Transaction concluded
VS2019常用快捷键
The singleton pattern
MongDb query method
CMake中INSTALL_RPATH与BUILD_RPATH问题
力扣第 305 场周赛复盘
一道很简答但是没答对的SQL题