分布式消息传输方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:25636727 阅读:33 留言:0更新日期:2020-09-15 21:29
本发明专利技术公开了一种分布式消息传输方法、装置、计算机设备及存储介质,所述方法通过客户端发送业务消息至第一中间件,以保存至客户数据库并返回保存结果,若保存成功则客户端执行对应的目标业务并将执行结果发送至第一中间件,若执行成功则第一中间件更新业务消息的状态为已确认,并通过MQ向服务端发送业务消息,服务端接收业务消息后通过MQ向客户端返回业务确认消息;本发明专利技术增加了第一中间件处理消息的步骤,通过巧妙地将业务消息的执行和存储维护在同一个事务中处理,减少了向MQ发送业务消息失败的可能,减少了因业务消息传输故障导致事务中断的问题,不需进行人工干预,方便快捷,提高了业务消息传输的效率和消息数据的一致性。

【技术实现步骤摘要】
分布式消息传输方法、装置、计算机设备及存储介质
本专利技术涉及计算机数据处理
,尤其涉及一种分布式消息传输方法、装置、计算机设备及存储介质。
技术介绍
随着近年来互联网行业的快速发展,微服务架构的应用越来越广泛。而在微服务架构中,业务系统为了支持扩展性,都遵从分布式架构,一个业务可能会拆分到不同的进程上,而不同的进程可能在不同的虚拟机或者物理机上运行,为了保持消息数据更新的一致性以让业务的正常进行,则在进程中引入了通信队列MQ。MQ作为一种消息中间件,用于将发送端的消息转发给消费端,以实现发送端与消费端之间的通信。目前,利用消息中间件MQ的消息传输方式可以包括:发送端成功将多个消息依次发送给MQ,以使MQ在接收到每个消息时将消息传入消息队列,然后按照消息队列依次将消息发送给消费端,以供消息消费端消费。在此过程中,处理消息的一致性仍旧不够好:若消息发送前发送端应用故障,消息为发出导致消息丢失;中间件故障或网络故障,传输中断导致消息丢失;消费端消费成功后的确认消息返回失败,导致发送端无法接收到消费成功消息。消息传输过程若出现故本文档来自技高网...

【技术保护点】
1.一种分布式消息传输方法,其特征在于,所述分布式消息传输方法用于分布式消息传输系统中,所述分布式消息传输系统包括:客户端、服务端、消息中间件MQ和代理系统,所述代理系统包括第一中间件,所述方法包括:/n所述客户端发送待确认的业务消息至所述第一中间件,所述业务消息为执行目标业务前所生成的记录消息;/n所述第一中间件接收所述业务消息后,将所述业务消息保存至客户数据库并将保存结果返回至所述客户端;/n若所述保存结果为保存成功,则所述客户端执行所述目标业务得到执行结果,并将所述执行结果发送至所述第一中间件;/n若所述执行结果为执行成功,则所述第一中间件更新所述业务消息的状态为已确认,并向所述MQ发送...

【技术特征摘要】
1.一种分布式消息传输方法,其特征在于,所述分布式消息传输方法用于分布式消息传输系统中,所述分布式消息传输系统包括:客户端、服务端、消息中间件MQ和代理系统,所述代理系统包括第一中间件,所述方法包括:
所述客户端发送待确认的业务消息至所述第一中间件,所述业务消息为执行目标业务前所生成的记录消息;
所述第一中间件接收所述业务消息后,将所述业务消息保存至客户数据库并将保存结果返回至所述客户端;
若所述保存结果为保存成功,则所述客户端执行所述目标业务得到执行结果,并将所述执行结果发送至所述第一中间件;
若所述执行结果为执行成功,则所述第一中间件更新所述业务消息的状态为已确认,并向所述MQ发送所述业务消息;
所述MQ接收所述业务消息后,将所述业务消息转换为所述服务端能识别的业务消息后发送至所述服务端;
所述服务端接收业务消息后,通过所述MQ向所述客户端返回业务确认消息。


2.如权利要求1所述的分布式消息传输方法,其特征在于,所述代理系统还包括第二中间件,所述服务端接收业务消息后,通过所述MQ向所述客户端返回业务确认消息,包括:
所述服务端接收所述业务消息后,将所述业务消息发送至所述第二中间件;
所述第二中间件接收所述业务消息后,将所述业务消息存储至消费端数据库并向所述服务端返回存储结果;
若所述存储结果为存储成功,则所述服务端接收所述存储结果后向所述MQ发送所述业务确认消息;
所述MQ接收到所述业务确认消息后,将所述业务确认消息发送至所述客户端。


3.如权利要求2所述的分布式消息传输方法,其特征在于,所述将所述业务消息存储至消费端数据库并向所述服务端返回存储结果之后,所述方法还包括:
若所述存储结果为存储成功,则所述服务端接收所述存储结果后对所述业务消息进行业务逻辑处理,并将处理结果发送至所述第二中间件;
若所述处理结果为处理成功,则所述第二中间件更新所述业务消息的状态为已完成;
若所述业务处理结果为处理失败,则所述第二中间件不更新所述业务消息的状态,并按第三预设间隔查询所述业务消息的状态以对所述业务消息进行业务逻辑处理,直至将所述业务消息的状态更新为已完成。


4.如权利要求2所述的分布式消息传输方法,其特征在于,所述向所述服务端返回存储结果之后,所述方法还包括:
若所述存储结果为存储失败,则所述服务端接收所述存储结果后,按第二预设间隔向所述第二中间件发送所述业务消息以使所述第二中间件成功存储所述...

【专利技术属性】
技术研发人员:周剑
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东;44

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

1