[发明专利]分布式事务协调方法及装置有效
申请号: | 201810259145.1 | 申请日: | 2018-03-27 |
公开(公告)号: | CN108415758B | 公开(公告)日: | 2020-11-27 |
发明(设计)人: | 黄兴;殷林 | 申请(专利权)人: | 深圳市融壹买信息科技有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/54 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 李艳丽 |
地址: | 518000 广东省深圳市前海深港合作区前湾一路1号A栋201室(入驻深圳市前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务 协调 方法 装置 | ||
本发明适用于分布式技术领域,提供了一种分布式事务协调方法及装置,所述方法通过接收第一微服务发送的注册第一事务请求,根据注册第一事务请求注册第一事务,并返回注册第一事务响应,接收第二微服务发送的协调消息,协调消息为确认消息或回滚消息,第二微服务调用所述第一微服务,发送协调消息至第一微服务,解决了现有技术中微服务架构实现最终一致性存在的灵活性差、效率较低的问题,实现了事务灵活的升级和扩展,缩短了中间过程,降低了时间复杂度。
技术领域
本发明属于分布式技术领域,尤其涉及一种分布式事务协调方法及装置。
背景技术
随着微服务的发展,服务之间的拆分越来越细,不同的微服务经常使用不同的数据库,使得数据访问变得复杂化,传统的分布式事务由于强耦合及不易扩展的缺陷,导致无法满足多个微服务之间保证一致性的要求。
现有技术中为保证多个微服务之间一致性,所采用的方法主要有两种:TCC(Try尝试、Confirm确认、Cancel取消)模型和消息队列事务。上述两种方法均需要针对特定的事务编写回滚代码,存在通用性差的缺陷,或者需要人工干预进行手动回滚,操作复杂。并且采用消息队列事务存在灵活性差,不易进行升级和扩展,同时中间过程冗长,时间复杂度较高。
发明内容
有鉴于此,本发明实施例提供了一种分布式事务协调方法及装置,以解决现有技术中微服务架构实现最终一致性存在的灵活性差、效率较低的问题。
本发明实施例的第一方面提供了一种分布式事务协调方法,包括:
接收第一微服务发送的注册第一事务请求,根据所述注册第一事务请求注册第一事务,并返回注册第一事务响应;
接收第二微服务发送的协调消息,所述协调消息为确认消息或回滚消息,所述第二微服务调用所述第一微服务;
发送所述协调消息至所述第一微服务。
在一种可能的实现方式中,所述发送所述协调消息至所述第一微服务,具体包括:
当所述协调消息为所述确认消息时,发送所述确认消息至所述第一微服务,以使所述第一微服务协调第一事务提交;
当所述协调消息为所述回滚消息时,发送所述回滚消息至所述第一微服务,以使所述第一微服务协调第一事务回滚。
本发明实施例的第二方面提供了一种分布式事务协调方法,包括:
发送注册第一事务请求至事务协调器,并接收所述事务协调器发送的注册第一事务响应;
接收所述事务协调器发送的协调消息,所述协调消息为确认消息或回滚消息;
根据所述协调消息协调处理所述第一事务。
在一种可能的实现方式中,所述发送注册第一事务请求至事务协调器之前,还包括:
接收第二微服务发送的调用第一事务请求,创建第一事务连接;
发送执行第一事务消息至第一数据库,并接收所述第一数据库返回的执行所述第一事务的执行结果。
在一种可能的实现方式中,所述接收所述事务协调器发送的注册第一事务响应之后,还包括:
根据所述注册第一事务响应,发送调用第一事务响应至所述第二微服务。
在一种可能的实现方式中,所述根据所述协调消息协调处理所述第一事务,具体包括:
当所述协调消息为所述确认消息时,发送提交第一事务请求至所述第一数据库,以使所述第一数据库保存所述执行结果,并接收所述第一数据库返回的提交结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市融壹买信息科技有限公司,未经深圳市融壹买信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810259145.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:分布式事务处理方法及装置
- 下一篇:消息的处理方法、装置和电子设备