一种分布式事务处理方法、装置和设备制造方法及图纸

技术编号:31700408 阅读:38 留言:0更新日期:2022-01-01 11:01
本申请实施例提供了一种分布式事务处理方法,装置和设备,所述方法包括,响应于开启事务事件,组装事务消息,并将组装后的事务消息插入本地事务消息表组装,同步注册回调方法,进行本地事务提交;响应于事务提交指令,调取所述回调方法,将处理后的事务消息发送至消息中间件;确定发送至所述消息中间件的事务消息与否发送成功;根据所述事务消息发送成功与否,处理所述消息。本申请可以解决现有技术中的导致上下游服务间事务消息会出现不一致的问题。问题。问题。

【技术实现步骤摘要】
一种分布式事务处理方法、装置和设备


[0001]本申请实施例涉及事务处理的
,具体涉及一种分布式事务处理方法和装置。

技术介绍

[0002]在现有技术中,分布式事务有多种解决方案,包括分布式事务机制和基于消息队的最大努力通知等方式。
[0003]在微服务架构下,两个服务要通信,服务间通信方式有同步和异步,同步会导致服务间紧耦合,不利于系统的高可用,尽可能的使用异步通信;通过消息中间件进行异步通信时,由于分布式系统本身的不可靠性,建议使用最大努力通知模式,现有的通过最大努力通知模式不能实现有效的重复,所以导致上下游服务间事务消息会出现不一致的问题。

技术实现思路

[0004]本专利技术实施例的目的在于提供一种分布式事务处理方法和装置,现有的通过最大努力通知模式不能实现有效的重复,所以导致上下游服务间事务消息会出现不一致的问题。
[0005]第一方面,本申请实施例提供了一种分布式事务处理方法,所述方法包括,
[0006]响应于开启事务事件,组装事务消息,并将组装后的事务消息插入本地应用方的本地事务消息表本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种分布式事务处理方法,其特征在于,所述方法包括,响应于开启事务事件,组装事务消息,并将组装后的事务消息插入本地应用方的本地事务消息表,同步注册回调方法,进行本地事务提交;响应于事务提交指令,调取所述回调方法,将组装后的事务消息以同步的方式发送至消息中间件;确定发送至所述消息中间件的消息与否发送成功;根据所述事务消息发送成功与否,处理所述事务消息。2.如权利要求1所述的一种分布式事务处理方法,其特征在于,所述回调方法与组装事务消息一一对应设置。3.如权利要求1所述的一种分布式事务处理方法,其特征在于,所述响应于开启事务事件之前,包括,判断是否开启本地事务,如果开启本地事务,且在事务执行过程中,判断是否有异常,如果有异常则进行事务回滚,所述事务消息也进行回滚;如果无异常,则进行事务提交;如果未开启本地事务,则进行报错提醒;和/或所述响应于开启事务事件之前,包括,开启类定时任务,用于从应用所在数据库获取发送失败的消息,将其重发至所述消息中间件;和/或所述响应于开启事务事件之前,包括,识别所述事务消息是否有一一对应的标识;如果没有,对所述事务消息生成一一对应的标识。4.如权利要求1所述的一种分布式事务处理方法,其特征在于,所述数据库上设置有数据库锁,获取在同一服务中最先开启数据库锁的实例;通过所述最先开启数据库锁的实例将发送失败的消息重发至所述消息中间件。5.如权利要求1所述的一种分布式事务处理方法,其特征在于,所述根据所述事务消息发送成功与否,处理所述事务消息,包括,更新所述事务消息状态;根据所述事务消息状态处理所述事务消...

【专利技术属性】
技术研发人员:李跃华
申请(专利权)人:厦门立林科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1