分布式事务解决(5):可靠消息的最终一致性方案-消息重复发送问题与业务接口的幂等性设计

一、消息消费流程的异常分析与处理

1.1、消息消费流程的异常点

1.2、消息消费流程的异常处理

方法:对于未确认的消息,采用按规则重新投递的方式进行处理。

问题:消息的重复发送会导致业务处理接口出现重复调用的问题。

未完,待续....

时间: 2024-07-28 16:05:41

分布式事务解决(5):可靠消息的最终一致性方案-消息重复发送问题与业务接口的幂等性设计的相关文章

分布式事务:两段式提交(最终一致性)

[MySQL如何实现分布式事务?] http://www.linuxidc.com/Linux/2013-10/91925.htm Innodb存储引擎支持XA事务,通过XA事务可以支持分布式事务的实现.分布式事务指的是允许多个独立的事务资源(transac tional resources)参与一个全局的事务中.事务资源通常是关系型数据库系统,也可以是其它类型的资源. 全局事务要求在其中所有参与的事务要么全部提交,要么全部回滚,这对于事务原有的ACID要求又有了提高.另外,在使用分布式事务时候

分布式事务(第05篇)分布式事务解决方法-TCC

一 什么是TCC TCC将每个分支事务都分成三个部分(Try.Confirm.Cancel): Try:业务检查及资源预留. Confirm:真正执行业务,不做任何业务检查.使用Try阶段预留的资源. Cancel:实现回滚操作,释放资源. 二 TCC实现分布式事务的流程 第一阶段:全局事务管理器分别调用所有分支事务,所有分支事务进行Try操作,当所有分支事务的Try操作都成功,或者某部分分支事务的Try操作失败,都进入第二阶段. 第二阶段:如果第一阶段所有分支事务Try都成功执行,则全局事务管

帐务处理最终一致性方案

随着交易量逐步上升,业务越来越复杂,在设计整个帐务处理中考虑最终一致性的方案. 整个方案大概流程可以分为: 在业务完成后同步记录资金变动流水 有的业务场景需要实时处理的账务,则同步发出账务处理的异步消息 通过定时任务每分钟查询需要进行更新帐务的流水记录 启动线程池对每笔流水记录进行帐务更新 在大量数据需要更新的情况下,由于对于处理账务要求非常严格,所以在整个执行过程中需要引入很多技术手段才能达到快速并且正确记账. 和业务执行一起生成最关键的资金变动流水,需要和其他业务绑定在一个事务中,由于这是账

分布式事务解决方案-柔性事务(可靠消息保证最终一致性)

1. 2.

分布式事务(第04篇)分布式事务解决方法-3PC

一 什么三阶段提交协议(3PC) 3PC是2PC的改进版本.主要有以下改进: 增加了一个询问阶段,询问阶段可以确保尽可能早的发现无法执行操作而需要中止的行为,但是它并不能发现所有的这种行为,只会减少这种情况的发生. 增加了等待超时的处理逻辑,如果在询问阶段等待超时,则自动中止:如果在准备阶段之后等待超时,则自动提交.这也是根据概率统计上的正确性最大. 二 3PC工作流程 询问阶段:协调者询问参与者是否可以完成指令,协调者只需要回答是还是不是,而不需要做真正的操作,这个阶段参与者在等待超时后会自动

java微服务架构的分布式事务解决方案

java微服务架构的分布式事务解决方案 课程目录如下: 1.课程介绍20分钟2.解决方案的效果演示(结合支付系统真实应用场景)45分钟3.常用的分布式事务解决方案介绍47分钟4.消息发送一致性(可靠消息的前提保障)20分钟5.消息发送一致性的异常流程处理16分钟6.常规MQ队列消息的处理流程和特点12分钟7.消息重复发送问题及业务接口的幂等性设计18分钟8.可靠消息最终一致性方案1(本地消息服务)的设计19分钟9.可靠消息最终一致性方案2(独立消息服务)的设计24分钟10.可靠消息服务的设计与实

明白了,原来分布式事务一致性可以这样搞

1.分布式事务问题的产生 何为事务? 所谓事务,大多数开发人员对事务并不陌生,它是由中间件提供的一种特有的机制.这种机制可以将一个活动所涉及的全部操作当做一个不可分割的执行单元,只有这个执行单元的所有操作均能正常执行的情况下才提交事物:否则,只要其中任一一个操作执行失败,都将导致整个执行单元回滚.现在的关系型数据库.部分消息中间件都具备这样的事务处理能力. 事务特性有哪些? Atomicity--原子性,是说事务中的所有操作的结果,要么全部成功,要么全部失败,不会存在中间状态.事务在执行过程中如

微服务架构下分布式事务解决方案——阿里云GTS

https://blog.csdn.net/jiangyu_gts/article/details/79470240 1 微服务的发展 微服务倡导将复杂的单体应用拆分为若干个功能简单.松耦合的服务,这样可以降低开发难度.增强扩展性.便于敏捷开发.当前被越来越多的开发者推崇,很多互联网行业巨头.开源社区等都开始了微服务的讨论和实践.Hailo有160个不同服务构成,NetFlix有大约600个服务.国内方面,阿里巴巴.腾讯.360.京东.58同城等很多互联网公司都进行了微服务化实践.当前微服务的开

微服务架构下分布式事务方案

1 微服务的发展 微服务倡导将复杂的单体应用拆分为若干个功能简单.松耦合的服务,这样可以降低开发难度.增强扩展性.便于敏捷开发.当前被越来越多的开发者推崇,很多互联网行业巨头.开源社区等都开始了微服务的讨论和实践.Hailo有160个不同服务构成,NetFlix有大约600个服务.国内方面,阿里巴巴.腾讯.360.京东.58同城等很多互联网公司都进行了微服务化实践.当前微服务的开发框架也非常多,比较著名的有Dubbo.SpringCloud.thrift .grpc等. 2 微服务落地存在的问题