The invention relates to a processing method, a micro service architecture of distributed transaction includes open instances of DB single transaction; perform DB requests, update the DB request; real-time transaction module; the real-time transaction module to judge whether to request success, if not request success is triggering rollback transaction rollback exception thrown or other DB drive the trigger event; if the request is submitted successfully. The invention effectively utilizes single DB driver module two phase commit characteristics, proposes a topology based service call to realize the distributed transaction mode, can be used as a solution for real-time consistency, can also realize transactional consistency. The invention can realize transaction guarantee through only one interaction process, and is suitable for the distributed module within three or less to realize transaction mechanism. The invention can explicitly represent the processing level of the distributed transaction through the topological design, and the series connection is in real-time agreement, and the parallel connection is the final agreement.
【技术实现步骤摘要】
一种微服务架构中分布式事务的处理方法
本专利技术属于计算机领域,具体涉及一种微服务架构中分布式事务的处理方法。
技术介绍
微服务是近年来兴起的一项新的架构设计思想。相较SOA,微服务通过将功能进一步分布式组件化,具有良好的扩展性和可持续开发能力。微服务是指开发一个单个小型的但有业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上。微服务也指一种松耦合的、有一定的有界上下文的面向服务架构。也就是说,如果每个服务都要同时修改,那么它们就不是微服务,因为它们紧耦合在一起;如果需要掌握一个服务太多的上下文场景使用条件,那么它就是一个有上下文边界的服务。微服务的目的是有效的拆分应用,实现敏捷开发和部署。如果说SOA可以通过设计避免分布式事务问题,由于服务拆分粒度更细,与SOA不同的是,微服务对于分布式事务的要求变得不可或缺。比如一个在线支付过程,SOA可能会拆分出一个封装了支付功能、自行维护库存的订单子系统,将更新商品数量、修改订单状态、记录支付费用等操作用单机事务完成。但是对于微服务架构来说,很可能由于扩展性的考虑,拆分成支付模块、订单模块、商品SKU管理模块。当支付成功的通知到来时,需要实时更新多个模块的DB数据。
技术实现思路
为了解决现有技术存在的上述问题,本专利技术提供了一种微服务架构中分布式事务的处理方法。本专利技术所采用的技术方案为:一种微服务架构中分布式事务的处理方法,其包括以下步骤:开启DB实例的单机事务;执行DB请求,更新DB;请求实时事务模块;对实时事务模块是否请求成功进行判断,如果未请求成功,则触发回滚,抛出异常或其 ...
【技术保护点】
一种微服务架构中分布式事务的处理方法,其特征在于,它包括以下步骤:开启DB实例的单机事务;执行DB请求,更新DB;请求实时事务模块;对实时事务模块是否请求成功进行判断,如果未请求成功,则触发回滚,抛出异常或其他DB驱动的事务回滚触发事件;如果请求成功,则进行提交。
【技术特征摘要】
1.一种微服务架构中分布式事务的处理方法,其特征在于,它包括以下步骤:开启DB实例的单机事务;执行DB请求,更新DB;请求实时事务模块;对实时事务模块是否请求成功进行判断,如果未请求成功,则触发回滚,抛出异常或其他DB驱动的事务回滚触发事件;如果请求成功,则进行提交。2.如权利要求1所述的一种微服务架构中分布式事务的处理方法,其特征在于,所述请求实时事务模块的步骤中,至多进行一个实时事务模块调用,如果有多个实时事务模块,则进行串联调用。3.如权利要求1所述的一种微服务架构中分布式事务的处理方法,其特征在于,所述对实时事务模块是否请求成功进行判断的步骤中,如果请求成功,在进行提交之前,还包括插入最终一致性处理模块的步骤。4.如权利要求2所述的一种微服务架构中分布式事务的处理方法,其特征在于,所述对实时事务模块是否请求成功进行判断的步骤中,如果请求成功,在进行提交之前,还包括插入最终一致性处理模块的步骤。5.如权利要求1或2或3或4所述的一种微服务架构中分布式事务的处理方法,其特征在于,所述分布式事...
【专利技术属性】
技术研发人员:秦光跃,
申请(专利权)人:西多多信息科技北京有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。