`

分布式事务学习笔记

 
阅读更多
分布式数据库常见模型:XA, 2PC, saga, TCC.
XA 是早期的跨数据库的分布式事务规范,需要锁表,性能较低,协调者基于weblogic等中间件,实际上就是一种2PC。
2PC 是两阶段提交。先prepare, 然后commit.由于需要锁资源保证ACID,所以性能低下。
saga 是一种高效的分布式事务方案,不需要锁资源。基于消息和事件驱动实现,如果分布式事务包括A,B,C三个短事务,那么A执行完本地事务,发消息,B收到通知执行本地事务,发消息,C接到消息,执行本地事务。当B,C发生失败,则发起回滚消息,一次回滚。只能保证A,C,D,不能保证隔离性。因为本地事务执行完,别的线程就能读取到消息了。
可靠消息表+MQ 最终一致也是saga的一种实现。
tcc 在此基础上做了优化。 先try, 冻结需要的部分资源(预留或者改为中间状态), 当所有资源都冻结成功之后,commit. 如果commit过程发生失败(一般是网络等外部原因),进行cancel回滚。保证性能和ACID。
分享到:
评论

相关推荐

    Java分布式应用学习笔记

    Java分布式应用学习笔记 在Java世界中,分布式应用是指由多个独立组件通过网络通信协同工作的系统。这种架构模式常用于构建大规模、高可用性、可扩展的系统。本笔记将深入探讨Java分布式应用的核心概念、技术和实践...

    若依框架分布式事务配置和项目启动手册

    《若依框架分布式事务配置与项目启动指南》 在当今的互联网时代,高并发、大数据量的业务场景对系统的性能和稳定性提出了更高要求,而分布式事务则是解决这些问题的关键技术之一。若依框架作为一款广受欢迎的Java...

    TransactionScope和分布式事务

    【分布式事务与TransactionScope详解】 分布式事务是在多台计算机或多个数据库系统间协调进行的一组操作,目的是确保跨多个资源的数据一致性。TransactionScope是.NET框架2.0引入的一个类,用于简化分布式事务的...

    分布式技术相关知识学习笔记

    【分布式技术相关知识学习笔记】 分布式技术是现代软件开发中的重要组成部分,它涉及多种技术手段,如CORBA、ORB、RPC、RMI以及中间件等,旨在解决大型系统中复杂度、扩展性和高可用性的问题。本笔记将重点讨论EJB...

    分布式商城项目笔记-乐优商城

    6. **分布式事务处理**:在分布式环境下,事务的处理是个挑战,可能会用到2PC(两阶段提交)、TCC(尝试-确认-补偿)或者Saga模式来保证数据的一致性。 7. **负载均衡**:为分散服务器压力,项目可能使用Nginx或...

    SpringCloud学习笔记(十一)----分布式事务 Seata-附件资源

    SpringCloud学习笔记(十一)----分布式事务 Seata-附件资源

    JAVA WEB学习笔记

    【JAVA WEB学习笔记】——Tomcat中数据源的配置与使用 在Java Web开发中,数据源(DataSource)是管理数据库连接的关键组件。它提供了一种高效、灵活的方式来获取和管理数据库连接,尤其是在大型企业级应用中。...

    Oracle学习笔记精华版

    分布式数据库系统也是Oracle的一大特色,笔记可能会讲解分布式数据库的概念、分布式事务处理以及Oracle的分布式特性,如Global Names、Database Link和Sharding。 最后,Oracle的高可用性解决方案,如RAC(Real ...

    JDBC学习笔记--JDBC学习笔记

    JDBC学习笔记 JDBC(Java DataBase Connectivity)是一种Java程序语言访问数据库的标准接口。它使得Java程序可以连接到各种不同的数据库管理系统,例如Oracle、SQL Server、MySQL、DB2、Sybase等。 JDBC的概念 ...

    图灵Java高级互联网架构师第6期分布式框架专题笔记.zip

    04-大厂生产级Redis高并发分布式锁实战-诸葛 05-一线大厂Redis高并发缓存架构实战与性能优化-诸葛 06-Redis缓存设计与性能优化最佳实践 07-深入底层C源码讲透Redis核心设计原理 08-Redis 6 新特性以及核心数据结构...

    尚医通学习笔记,尚医通学习笔记

    7. **分布式事务**:Seata或Atomikos用于解决分布式环境下事务一致性的问题,确保数据的准确性。 8. **消息队列**:RabbitMQ或Kafka可以实现异步通信,降低系统耦合度,提升性能。 在医疗信息化领域,尚医通学习...

    j2ee学习笔记-j2ee学习笔记

    **J2EE学习笔记概述** J2EE(Java 2 Platform, Enterprise Edition)是一个由Sun Microsystems(现已被Oracle收购)开发的平台,主要用于构建企业级的分布式应用系统。它提供了服务器端组件模型、服务和API,支持...

    Oracle学习笔记.pdf

    - OracleMTSRecoveryService:支持分布式事务处理。 - OracleOraDb11g_home1ClrAgent:Oracle .NET扩展服务。 - OracleOraDb11g_home1TNSListener:监听器服务,处理远程数据库连接请求。 - OracleServicexx:...

    JavaEE5学习笔记01-JTA和数据库事务

    ### JavaEE5学习笔记01-JTA和数据库事务:深入解析与应用 #### 一、JavaEE5概览与核心组件 JavaEE5是Java Enterprise Edition的第五个版本,标志着企业级Java应用的一个重要里程碑。它引入了一系列重要的新特性,...

    Oracle SQLServer数据库 学习笔记

    这篇学习笔记将深入探讨这两个系统的概念、特性和应用。 一、Oracle数据库系统 Oracle数据库是由甲骨文公司开发的一款强大、高性能的数据库解决方案。其主要特点包括: 1. **分布式数据库**:Oracle支持多节点的...

    千锋《锋迷商城》项目学习笔记2-分布式与微服务

    传统的数据库事务机制在分布式环境中难以直接应用,因此需要采用分布式事务、最终一致性模型或是基于补偿机制的技术方案。此外,对系统的监控和日志管理也是不可或缺的,它们可以帮助运维团队及时发现系统中的问题并...

    JavaEE学习笔记.pdf

    * 如何使用EJB实现分布式事务? * 如何使用JSF实现Web应用程序? * JavaEE和Spring有什么区别? JavaEE应用实例 JavaEE应用实例包括: * 一个基于JavaEE的电商平台 * 一个基于JavaEE的企业资源规划系统 * 一个...

Global site tag (gtag.js) - Google Analytics