当前位置: 首页 > ai >正文

什么是本地事务,什么是分布式事务

一、本地事务(Local Transaction)

1. ‌定义与特性

本地事务是指‌在单个数据库或单体应用中完成的事务操作‌,其核心特征是严格遵循ACID原则:

  • 原子性(Atomicity)‌:操作不可拆分,全部成功或全部回滚;
  • 一致性(Consistency)‌:事务前后数据整体保持一致状态;
  • 隔离性(Isolation)‌:事务间操作互不干扰;
  • 持久性(Durability)‌:事务提交后数据永久存储。
2. ‌适用场景
  • 基于单体架构的业务场景;
  • 同一服务的单数据库操作(如库存扣减或订单创建)。

二、分布式事务(Distributed Transaction)

1. ‌定义与挑战

分布式事务是‌跨多个数据库、服务或系统的协同事务‌,需解决不同节点的数据一致性。典型场景包括:

  • 跨数据源操作(如电商下单时扣库存、减余额、建订单需访问不同数据库);
  • 微服务间调用(如A服务调B服务,两者使用独立数据库)。
2. ‌核心问题
  • CAP定理约束‌:需在网络分区情况下权衡一致性与可用性;
  • 协调复杂度‌:需通过分布式协议(如2PC、Seata)协调多节点提交或回滚。

三、关键差异对比

维度本地事务分布式事务
数据范围单一数据库内操作跨数据库/跨服务操作
原子性保障数据库内部机制直接保证需依赖额外协议(如XA、TCC)协调
性能开销低(无网络通信消耗)高(涉及多节点协调与通信)

四、延伸说明

在微服务架构中,分布式事务的解决方案包括 ‌Seata框架的二阶段提交(2PC)‌ 、‌基于消息队列的最终一致性‌ 等机制。与传统本地事务相比,这些方案通过牺牲部分性能或强一致性换取分布式场景下的可行性。

http://www.xdnf.cn/news/6675.html

相关文章:

  • 【MATLAB例程】线性卡尔曼滤波的程序,三维状态量和观测量,较为简单,可用于理解多维KF,附代码下载链接
  • ESP32开发之freeRTOS的任务通知
  • OpenCV CUDA模块中矩阵操作------归一化与变换操作
  • window nvidia-smi命令 Failed to initialize NVML: Unknown Error
  • 【学习笔记】因果推理导论第1课
  • 3D一览通为山东融科MES系统补全车间看图能力
  • 车道线检测----CLRNet
  • Elasticsearch倒排索引核心原理面试题
  • 视频孪生智慧风电场解决方案
  • 【C++/Qt shared_ptr 与 线程池】合作使用案例
  • 模板分享:网络最小费用流
  • css:倒影倾斜效果
  • Jenkins 最佳实践
  • 从数据包到可靠性:UDP/TCP协议的工作原理分析
  • 【localstorage、sessionStorage和cookie】
  • python报错:typeerror:type object is not subcriptable问题原因及解决方案
  • socket通信中的accept函数
  • 【vue】封装接口,全局字典,表格表头及使用
  • 子查询对多层join优化记录
  • 汉诺塔超算堆栈结构编码和流程详细设计(附源代码)
  • 什么是有向图 无向图 求图的邻接矩阵 软考
  • 搭建游戏云服务器的配置要求包括哪些条件?
  • S32DS使用JLINK编译调试问题点记录
  • Nginx常用命令
  • 在24GB显存大小的GPU上运行27GB的Pytorch模型
  • 基于 Java Socket 的多线程网络聊天程序
  • 依赖倒转原则:Java 架构设计的核心准则
  • 【数据机构】2. 线性表之“链表”
  • 如何使用 Solana Yellowstone gRPC 重新连接和重放插槽
  • Leetcode76覆盖最小子串