写个笔记记录下工作中遇到的几种分布式事务实现的几种方式。
1)接口放在同一个工程里面,避免分布式事务。
比如之前我们认为account_credits是属于account工程的,credits_info是积分工程的。有个操作叫签到要求先插入credits_info表,然后更新account_credits表。为了避免分布式事务操作,我们直接都放在了积分工程里面。 弊端:本来就是服务拆分了,这样导致不同服务又耦合在一个工程里了。
2) BASE(base avilable soft state eventually consistant)方案
服务基本可用,软状态的意思是可以暂时数据不一致,最终数据达成一致性。技术方案主要包括两种第一种: 服务1做完后发送消息到mq,服务2消费mq继续做下面的操作。第二种:不是发mq是写db的形式,服务1做完插入一条记录到db,服务2消费db中的数据。 利弊:优点在于实现简单,对参与方系统侵入小,缺点在于只适用于幂等重试场景,不能对事务做回滚,另外缺乏对整个分布式事务链路的控制。
3)天猫方案
利弊:需要定时任务兜底,没有形成系统的框架。
4) dts方案 参照链接
相关推荐
在深入了解HBase分布式事务与SQL实现前,我们首先需要明确几个核心概念和组件,这些包括HBase基础架构、Google Percolator模型、TiDB分布式数据库,以及它们之间的关系。 HBase是一款分布式的、开源的NoSQL数据库,...
### 分布式事务解决方案 ...本文提出的几种解决方案各有特点,可以根据具体业务场景和技术需求选择合适的方法。通过合理设计和实现,可以有效地解决分布式事务问题,保障系统的稳定性和数据一致性。
在实现分布式事务时,需要注意以下几点: * 在执行任务前需要先写本地日志,主要是为了故障后恢复用,本地日志起到现实生活中凭证 的效果。 * TC 或 Si 把发送或接收到的消息先写到日志里,主要是为了故障后恢复用...
介绍分布式事务的定义、原则和实现原则,介绍使用Spring框架实现分布式事务的几种方式,包括使用JTA、Spring事务同步、链式事务等,并通过实战介绍其实现。除此以外还介绍了一些分布式事务相关的技术,如幂等性、...
在多数据源和分布式事务的场景下,我们需要特别关注以下几点: 1. 事务的隔离级别:不同数据库的默认隔离级别可能不同,需要根据业务需求调整。 2. 事务的回滚规则:当发生异常时,确定哪些操作需要回滚,哪些可以...
Seata支持以下几种分布式事务模式: - **AT模式 (Automatic Transaction Mode)**:Seata通过记录数据的before-image和after-image,在事务提交时自动完成补偿操作,实现事务的最终一致性。AT模式具有较高的性能,但...
* 容错机制:GTS 的容错机制主要包括服务节点宕机、应用节点宕机等,通过容错机制可以实现分布式事务的高可用性和高可靠性。 * 扩展机制:GTS 的扩展机制主要包括水平扩展、垂直扩展等,通过扩展机制可以实现分布式...
在基于Dubbo的分布式事务实现中,通常有以下几种解决方案: 1. **两阶段提交(2PC)**:这是一个经典的分布式事务协议,包括准备阶段和提交阶段。在准备阶段,所有参与者(如数据库)都会被询问是否可以执行事务,...
根据CAP理论,分布式事务解决方案可以分为几类。一种是基于2PC(两阶段提交)的算法,它通过协调者协调各个参与者节点,在第一阶段准备操作,并在第二阶段提交或回滚,从而保证分布式系统的一致性。然而,这种方法...
基于微服务架构的分布式系统...本课程从本地事务出发,介绍了分布式系统和Spring cloud框架及其使用,以及分布式事务的几种实现模式。课程中还提供了大量的实例,让同学们在实战过程中,掌握分布式事务实现方式与思路。
本文将探讨分布式事务的基本概念、单机事务与分布式事务的区别,并详细介绍几种常见的分布式事务解决方案。 #### 2. 事务基本概念 事务是一种用于确保数据完整性和一致性的机制,通常具有以下四个主要特征: - **...
2. **两阶段提交(2PC)协议**:LCN可能采用了2PC协议,这是一种经典的分布式事务处理方式,分为准备阶段和提交阶段。在准备阶段,协调器询问所有参与者是否可以提交,如果所有参与者都同意,则进入提交阶段;若有...
本文将围绕“微服务架构的分布式事务解决方案”这一主题,详细介绍几种常用的分布式事务解决方案及其优缺点。 #### 二、基础知识 在深入讨论分布式事务解决方案之前,我们需要了解一些基础概念: 1. **本地事务**...
因此,我们通常会采用以下几种分布式事务解决方案: 1. **两阶段提交(2PC)**:这是一种经典的分布式事务处理方法,分为预提交和提交两个阶段。在支付系统中,如果涉及多个服务的事务操作,2PC可以确保所有服务...
以上就是分布式事务的几种常见实现方式,每种方法都有其适用场景和优缺点。选择合适的分布式事务解决方案,需要根据系统的业务需求、性能要求以及可容忍的故障恢复时间等因素综合考虑。在实际应用中,往往需要结合...
XA协议(扩展事务协议)是实现分布式事务的一种标准接口,它允许资源管理器与事务管理器进行交互,以确保跨多个数据库或其他资源的事务能够正确执行。在Java环境下,使用XA协议实现分布式事务,通常会涉及到JTA...
SEATA是阿里巴巴开源的一款分布式事务解决方案,它为开发者提供了一种简化分布式事务管理的途径,通过提供高可用和强一致性的事务服务,从而解决分布式系统中跨多个服务或数据库的事务一致性问题。 分布式事务处理...
本篇文档将详细介绍几种常用的分布式事务解决方案,并通过一个具体的电商支付流程案例来进行演示。 #### 标题解读:“微服务架构的分布式事务解决方案演示” 该标题明确指出了文档的主要内容——针对微服务架构中...