`

READ:分布式事务的两阶段提交

    博客分类:
  • DB2
阅读更多

关于分布式事务的两阶段提交

 

 

 

        两阶段提交主要指的是数据库的分布式事务处理,需要数据库产品本身支持这个特性,目前的大型数据库一般都支持两阶段提交,比如Oracle、DB2等,但mysql不支持。传统的一个事务都是绑定在一个connection上的,所以,只要是想在两个connection上做一个统一的事务,就必须使用两阶段提交。

 

        比如,有两台数据库服务器A和B,有一个业务操作需要upate A上的一个数据库表记录,并同时update B上的一个数据库表记录。第一阶段提交时,JTA通知两个数据库做update操作,但不commit。两个数据库都做好准备后,反馈消息给JTA,JTA然后执行第二阶段提交,即同时通知两个数据库做commit操作,这样一个两阶段提交的事务就完成了。

 

        第二阶段提交还涉及到一个时间片长度和可能失效的问题,具体的技术细节还需要看资料。总的来说,两阶段提交是目前解决分布式事务的一个途径。不过,做分布式事务的效率比普通的事务处理要低很多。

分享到:
评论

相关推荐

    分布式事务难题在微服务架构下的解法和标准化1

    1. **两阶段提交(2PC,Two-Phase Commit)**:这是一个经典的分布式事务协议,分为准备阶段和提交阶段。在准备阶段,事务协调者询问所有参与者是否可以提交,如果所有参与者都同意,那么在提交阶段,协调者将指示...

    分布式事务专题_java_分布式_

    3. **2PC(两阶段提交)协议**:这是最早的分布式事务处理协议,包括准备阶段和提交阶段。虽然简单,但存在阻塞、单点故障等问题。 4. **3PC(三阶段提交)协议**:为了解决2PC的问题,3PC引入了预提交阶段,降低了...

    分布式事务代码演示.zip

    1. **两阶段提交(2PC, Two-Phase Commit)**:这是最经典的分布式事务协议,由准备阶段和提交阶段组成。在准备阶段,协调者询问所有参与者是否可以提交,如果所有参与者都同意,则进入提交阶段,否则进行回滚。 2....

    Java编程代码-分布式事务-源代码+讲义+资料

    两阶段提交是最常见的分布式事务解决方案,但在高并发场景下可能会出现性能问题。Saga是一种长事务的解决方式,它将一个大事务拆分成多个小事务,每个小事务都能单独提交,如果发生错误,通过回滚一系列的补偿操作来...

    常用的分布式事务解决方案.docx

    两阶段提交是一种经典的分布式事务处理协议,包含两个阶段: - **准备阶段**(Prepare Phase):协调者向参与者发送准备请求,参与者回复是否可以提交事务。 - **提交阶段**(Commit Phase):根据所有参与者的回复...

    TXN实现分布式事务管理DEMO

    在分布式环境中,这通常通过两阶段提交(2PC,Two-Phase Commit)或者三阶段提交(3PC,Three-Phase Commit)等协议来保证。 2. **一致性(Consistency)**:事务完成后,系统必须处于一致状态,即事务的执行不会...

    5.深入浅出分布式事务 唐刘.pdf

    解决这些问题通常需要采用特定的事务隔离策略,例如两阶段提交(2PC)、多阶段提交(3PC)或者基于乐观锁和悲观锁的并发控制机制。在实际应用中,还需要考虑到性能、可用性和扩展性等因素,这往往需要权衡和优化。 ...

    分布式事务入门GitChat问题实录解答

    而在分布式事务中,由于涉及多个节点或服务,因此传统的两阶段提交(2PC)协议就显得力不从心。三阶段提交(3PC)协议就是为了解决2PC在某些情况下出现的阻塞和单点故障问题而设计的。相比于两阶段提交,三阶段提交...

    分布式事务1

    分布式事务协议,如2PC(两阶段提交)和3PC(三阶段提交),是解决分布式事务一致性问题的常见策略。2PC分为准备阶段和提交阶段,协调者负责收集参与者(各个数据库节点)的反馈,决定是否提交或回滚事务。这种方案...

    企业级分布式数据库实践专场__深入OceanBase企业级数据库的分布式事务引擎.zip

    OceanBase的分布式事务引擎通过两阶段提交(2PC)和多阶段提交(MPC)等协议,实现了强一致性的分布式事务处理。 1. **两阶段提交(2PC)**:2PC是一种经典的分布式事务协调协议,分为准备阶段和提交阶段。在Ocean...

    分布式事务管理与恢复PPT学习教案.pptx

    确保分布式事务的正确执行需要复杂的恢复算法和协调机制,例如两阶段提交(2PC)或三阶段提交(3PC)协议,以确保所有Site上的子事务都能达成一致的提交或回滚决策。 总结来说,分布式事务管理与恢复涉及如何在多...

    分布式事务ABC和ICBC数据库

    在分布式系统中,实现ACID特性的一个常见方法是使用两阶段提交(2PC)或三阶段提交(3PC)协议。两阶段提交首先由协调者询问所有参与者是否可以提交,如果所有参与者都同意,协调者再发出提交指令。而三阶段提交则在...

    分布式事务seata相关代码落地.rar

    其中,AT模式是最常见的,它基于两阶段提交(2PC)改进,通过记录回滚日志来实现最终一致性。Saga模式适用于长事务,通过拆分为多个可回滚的子事务来实现。TCC模式则提供了更灵活的事务控制,由业务系统定义Try、...

    《分布式数据库系统及应用》复习大纲.doc

    - **两阶段提交协议转为三阶段提交协议**: - 在准备阶段增加了一个预提交阶段。 - **分布式可靠性协议**: - 包括三阶段提交协议、多阶段提交协议等。 - **网络分割处理协议**: - 冗余分布式数据库和非冗余...

    常用的分布式事务解决方案

    1. 两阶段提交(2PC, Two-Phase Commit):协调者和参与者之间的通信协议,分为预提交和提交两个阶段。优点是简单易懂,但缺点是存在单点故障和阻塞问题。 2. 三阶段提交(3PC, Three-Phase Commit):在2PC的基础...

    企业级分布式数据库实践专场__深入OceanBase企业级数据库的分布式事务引擎.pdf

    - OceanBase的分布式事务协调者不保存持久状态,这有助于实现低延迟的两阶段提交。全球时间戳服务(Global Timestamp Service)可能用于协调分布式环境中的并发控制,确保事务间的正确顺序。 总的来说,OceanBase...

    分布式的事务处理、springcloud

    CTT模式(Correction Try Confirm)和Saga模式则是另外两种分布式事务处理方式,它们通常用于长事务,通过多个微服务间的协调来实现事务一致性。 CTT模式由Try、Confirm和Cancel三个阶段组成,Try阶段执行业务操作...

    cpp-TiKV分布式事务键值数据库最初创建用于补充TiDB

    在事务处理方面,TiKV支持分布式事务的ACID(原子性、一致性、隔离性、持久性)特性,尤其是强一致性的分布式两阶段提交(2PC)。这使得TiKV能够处理复杂的业务逻辑,例如跨表更新,同时保持数据的一致性。TiKV还...

    3TS--分布式事务并发访问控制算法详解--腾讯TDSQL1

    本文主要探讨一种名为3TS的分布式事务并发访问控制算法,它结合了多种经典并发控制策略,旨在提高系统的并发性能和事务的可串行化。 ### 基本思想 3TS的核心思想是“先定序、后检验”。首先,通过一定的方法为事务...

    事务处理--介绍事务原理和事务实现.docx

    - **XA**:一种两阶段提交协议,允许跨不同数据库和资源管理器的分布式事务。 - **2PC(Two-Phase Commit)**:最常见的分布式事务协议,分为准备阶段和提交阶段。 - **XA与2PC协议**:两者都用于分布式事务,但2...

Global site tag (gtag.js) - Google Analytics