一种基于消息中间件的柔性事务处理方法技术

技术编号:20588416 阅读:36 留言:0更新日期:2019-03-16 07:00
本发明专利技术公开了一种基于消息中间件的柔性事务处理方法,由消息生产者发送消息到消息服务,待消息生产者本地业务执行后,再发送确认消息到消息服务,此时消息服务才真正发布消息,供消息消费者消费。本发明专利技术通过带有事务的消息中间件(消息服务)作为中间人角色,能够有效的保障各系统之间事务的一致性。

A Flexible Transaction Processing Method Based on Message Middleware

The invention discloses a flexible transaction processing method based on message middleware, in which the message producer sends the message to the message service, and then sends the confirmation message to the message service after the local service of the message producer is executed, at which time the message service truly publishes the message for the consumption of the message consumer. The invention can effectively guarantee the consistency of transactions among systems by using message middleware (message service) with transactions as a middleman role.

【技术实现步骤摘要】
一种基于消息中间件的柔性事务处理方法
本专利技术涉及互联网应用的分布式事务处理的
,特别是涉及一种基于消息中间件的柔性事务处理。
技术介绍
分布式系统一般由多个独立子系统组成,多个子系统通过进程间通信互相协作配合完成各个功能。有很多用例会跨多个子系统才能完成,比如电商购物网站的下单支付流程,会涉及到交易系统和支付系统,而这个过程中会涉及到事务的概念,即需要保证交易系统和支付系统的数据一致性。通常谈及的事务是指单机资源的ACID属性,无法满足多系统间的事务要求。柔性事务处理发放中存在以下概念和名词:柔性事务:指遵循BASE理论的事务,常见实现方式有:两阶段提交(2PC)、TCC补偿性提交、基于消息的异步确保型、最大努力通知型。BASE:BaseICallyAvailable(基本可用)、Softstate(柔性状态)、Eventuallyconsistent(最终一致性)的三个短语的缩写。TCC模式:Try-Confirm-CancelTry:完成所有业务检查(一致性),预留必须业务资源(准隔离性)。Confirm:真正执行业务,不作任何业务检查,只使用Try阶段预留的业务资源,本文档来自技高网...

【技术保护点】
1.一种基于消息中间件的柔性事务处理方法,其特征在于,包括如下步骤:S1、消息生产者在执行本地事务前预发送事务消息到消息服务,此时消息服务只记录但不发布该事务消息;S2、消息服务确认消息生产者预发送的事务消息接收成功后,返回接收成功的消息给消息生产者;S3、消息生产者开始执行本地业务逻辑,如果执行失败,通知消息服务丢弃该事务消息,如果执行成功,则提交本地事务,并通知消息服务发布事务消息给消息消费者,消息消费者在接收该事务消息后执行其本地业务逻辑。

【技术特征摘要】
1.一种基于消息中间件的柔性事务处理方法,其特征在于,包括如下步骤:S1、消息生产者在执行本地事务前预发送事务消息到消息服务,此时消息服务只记录但不发布该事务消息;S2、消息服务确认消息生产者预发送的事务消息接收成功后,返回接收成功的消息给消息生产者;S3、消息生产者开始执行本地业务逻辑,如果执行失败,通知消息服务丢弃该事务消息,如果执行成功,则提交本地事务,并通知消息服务发布事务消息给消息消费者,消息消费者在接收该事务消息后执行其本地业务逻辑。2.根据权利要求1所述的基于消息中间件的柔性事务处理方法,其特征在于,步骤S3中,消息消费者如果执行本地业务逻辑成功,则提...

【专利技术属性】
技术研发人员:杨光润郭春鹏李志伟宋伟强乔光
申请(专利权)人:上海艾融软件股份有限公司
类型:发明
国别省市:上海,31

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

1