[发明专利]一种保障微服务数据一致性的方法、系统、设备以及介质在审
申请号: | 202110657625.5 | 申请日: | 2021-06-13 |
公开(公告)号: | CN113537715A | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 孙良辰 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06Q10/06 | 分类号: | G06Q10/06;G06Q10/10 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 宋薇薇;李红萧 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保障 微服 数据一致性 方法 系统 设备 以及 介质 | ||
本发明公开了一种保障微服务数据一致性的方法,包括以下步骤:响应于检测到全局事务开启,获取所述全局事务中多个微服务的执行顺序;根据所述执行顺序对每一个微服务进行从小到大编号;响应于检测到所述全局事务中存在异常微服务调用,获取所述异常微服务的编号;获取在所述异常微服务的编号之前的每一个编号对应的回滚方法;根据所述异常微服务的编号之前的编号的顺序依次执行对应的回滚方法。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提出的方案在事务执行异常时,将根据捕获异常所处的流程位置,自动顺序执行回滚操作,从而保证微服务调用链条的事务一致性,无需手动开发,减少研发人员业务处理工作量。
技术领域
本发明涉及微服务领域,具体涉及一种保障微服务数据一致性的方法、系统、设备以及存储介质。
背景技术
随着软件技术和Internet的发展,软件的规模变得越来越大,应用系统越来越笨重和庞大,难以维护和更新。系统业务复杂度和用户并发量愈发增大,对系统的要求也越来越高。传统应用架构逐渐失去了灵活性,凸显出难以迭代开发,维护部署等问题。
软件的架构对于系统的稳定性、鲁棒性、扩展性起着至关重要的作用。传统单块架构对应的沟通、管理、协调等成本越来越高,出现了诸多问题。
为解决传统系统架构面临的问题,随着领域驱动设计,持续交付技术,虚拟化技术,小型自治团队组建,基础设施智能化自动化,大型集群系统设计等技术和实践的发展,微服务应运而生。微服务作为一种分布式系统解决方案,聚焦细粒度服务使用的推动。不同的微服务协同工作,每个服务都有自己的生命周期。由于微服务主要围绕业务领域构建模型,而且整合了过去十多年来的新概念和新技术,因此可以避免由传统的分层架构引发的很多问题及陷阱。
在微服务架构中数据都是服务私有的,需要通过服务提供的API访问,分布式事务不再适用微服务架构,传统分布式事务不是微服务中数据一致性的最佳选择。微服务架构中应满足数据最终一致性原则。
AI训练管理平台是典型的微服务架构设计,微服务模块之间的数据访问、执行业务均通过调用API完成。随着这一企业级应用规模越来越大,复杂的业务导致微服务调用链条变长,如何保证事务一致性成为AI训练管理平台中亟待解决的优化问题。
为保证微服务调用的事务一致性,一般传统的处理流程为:
1、当业务二调用出现异常时,执行业务一回滚操作;
2、当业务三调用出现异常时,依次执行业务二回滚操作、业务一回滚操作;
3、当业务四调用出现异常时,依次执行业务三回滚操作、业务二回滚操作、业务一回滚操作;
4、当业务五调用出现异常时,依次执行业务四回滚操作、业务三回滚操作、业务二回滚操作、业务一回滚操作;
随着业务的调用流程越来越长,需要执行的业务回滚操作将增加,研发、维护的难度都将增大。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种保障微服务数据一致性的方法,包括以下步骤:
响应于检测到全局事务开启,获取所述全局事务中多个微服务的执行顺序;
根据所述执行顺序对每一个微服务进行从小到大编号;
响应于检测到所述全局事务中存在异常微服务调用,获取所述异常微服务的编号;
获取在所述异常微服务的编号之前的每一个编号对应的回滚方法;
根据所述异常微服务的编号之前的编号的顺序依次执行对应的回滚方法。
在一些实施例中,响应于检测到全局事务开启,获取所述全局事务中多个微服务的执行顺序,进一步包括:
获取标志信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110657625.5/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理