【技术实现步骤摘要】
一种保障微服务调用数据一致性的处理方法、处理装置
本专利技术涉及计算机
,具体而言,涉及一种保障微服务调用数据一致性的处理方法、处理装置。
技术介绍
微服务架构下多个服务之间通过RestFul接口或者RPC框架进行调用,一次完整的业务调用往往需要多个微服务的参与,包括如图1和图2所示的两种场景,这两种场景下,如果中途调用出错,会造成整体业务的失败。此种架构下,每个微服务使用独立的DB(Database,数据库)存储数据,各个业务的DB间相互隔离,不允许直接跨库访问。那么,传统的使用数据库本地事务ACID(AtomicityConsistencyIsolationDurability,原子性、一致性、隔离性、持久性)特性保证数据一致的方案不再适用,各个服务间可能由于网络超时、业务异常等问题造成不能同步的提交或者回滚对应的数据库操作,造成各个服务对应数据的不一致。相关技术的解决方案中,可以使用全局数据库事务的方式解决此问题,其解决思路如图3所示,其提供统一的数据管理器,在业务最开始时,各个服务执行第一阶段,准备各个操作需要资源,开启事务并执行,不提交事务,如遇到 ...
【技术保护点】
1.一种保障微服务调用数据一致性的处理方法,其特征在于,包括:获取标记信息,根据所述标记信息确定开启或加入的多个全局事务,其中每个所述全局事务包括一个或多个微服务,且每个所述全局事务包括的所述微服务不相同;对于任一所述全局事务,当检测到所述全局事务中存在异常微服务调用时,处理所述异常微服务的异常信息,同时将所述异常信息发送给所述异常微服务的上游微服务和下游微服务,使所述上游微服务进行本地事务回滚和异常信息通知,以及使所述下游微服务进行本地事务回滚。
【技术特征摘要】
1.一种保障微服务调用数据一致性的处理方法,其特征在于,包括:获取标记信息,根据所述标记信息确定开启或加入的多个全局事务,其中每个所述全局事务包括一个或多个微服务,且每个所述全局事务包括的所述微服务不相同;对于任一所述全局事务,当检测到所述全局事务中存在异常微服务调用时,处理所述异常微服务的异常信息,同时将所述异常信息发送给所述异常微服务的上游微服务和下游微服务,使所述上游微服务进行本地事务回滚和异常信息通知,以及使所述下游微服务进行本地事务回滚。2.根据权利要求1所述的保障微服务调用数据一致性的处理方法,其特征在于,还包括:当任一所述微服务接收业务调用任务信息时,记录待发送任务信息至数据库;执行所述业务调用任务信息,同时利用消息中间件发送所述待发送任务信息;接收对所述待发送任务信息的确认信息,将所述待发送任务信息的发送状态标记为发送成功。3.根据权利要求2所述的保障微服务调用数据一致性的处理方法,其特征在于,还包括:当所述待发送任务信息发送失败时,在执行下一业务调用任务时重新发送所述待发送任务信息。4.根据权利要求2所述的保障微服务调用数据一致性的处理方法,其特征在于,还包括:当任一所述微服务接收业务调用任务信息时,将所述业务调用任务信息的全局唯一信息标识与预先接收的其它业务调用任务信息的全局唯一信息标识进行比对;当所述业务调用任务信息的全局唯一信息标识与预先接收的其它业务调用任务信息的全局唯一信息标识不重复时,处理所述业务调用任务信息;将所述业务调用任务信息的状态标记为处理成功,以及发送对所述业务调用任务信息的确认信息。5.根据权利要求2所述的保障微服务调用数据一致性的处理方法,其特征在于,还包括:为每个所述微服务进行AccessKey认证和Secret的认证,使每个所述微服务与所述消息中间件进行安全连接。6.根据权利要求2所述的保障微服务调用数据一致性的处理方法,其特征在于,还包括:为每个所述微服务配置所述消息中间件的地址。7.根据权利要求1至6中任一项所述的保障微服务调用数据一致性的处理方法,其特征在于,还包括:对所述异常微服务、所述异常信息进行显示,以及生成对发送失败信息的重新发送指令;与云端进行数据同步,向所述云端上报所述异常微服务、所述异常信息,以及获取所述云端的处理指令。8.一种保障微服务调用数据一致性的处理装置,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以:获取标记...
【专利技术属性】
技术研发人员:刘建民,
申请(专利权)人:用友网络科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。