[发明专利]一种保证幂等的微服务调用监管系统及方法有效
| 申请号: | 201911380810.3 | 申请日: | 2019-12-27 |
| 公开(公告)号: | CN111241112B | 公开(公告)日: | 2023-05-23 |
| 发明(设计)人: | 钱进;于秋波;张世栋;尚猛;郭斌;赵永光;宋婷婷;刘萌;马志成 | 申请(专利权)人: | 山大地纬软件股份有限公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23;G06Q40/04 |
| 代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 李琳 |
| 地址: | 250102 山东*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 保证 微服 调用 监管 系统 方法 | ||
本公开提供了一种保证幂等的微服务调用监管系统及方法,包括交易申请模块、交易调用模块、交易后续结果存取模块和交易管理模块,交易申请模块用于微服务调用前生成交易编号,交易调用模块用于处理每一次的微服务调用,交易后续结果存取模块用于处理时间较长的微服务,交易管理模块用于管理所有的微服务调用,查看每一次调用的详情,并针对调用异常的情况给出处理方法;本公开保证了微服务的严格幂等,屏蔽了在不同系统以及不同数据库之间调用时造成的数据库操作一致性问题,避免因为微服务处理时间过长导致调用端一直等待甚至出现超时的问题。
技术领域
本公开涉及微服务调用技术领域,特别涉及一种保证幂等的微服务调用监管系统及方法。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术,并不必然构成现有技术。
在微服务架构下,原本单体式应用以及数据库被拆分为多个微服务应用和多个数据库,原本单体式应用内的代码逻辑调用变为了多个应用之间的微服务调用,业务数据由单一数据库保存变为分库分表。单体式应用内代码调用的调用端与提供端之间不存在网络和分库等因素,两端数据库操作的一致性得到保证,提供端不需要保证操作幂等。
本公开发明人发现,在微服务架构下,调用两端处于不同数据库,调用端与提供端之间容易受网络等因素影响出现提供端处理结果反馈不到调用端的情况,这种情况下调用端只能重新发起调用再次获取到处理结果,才能保证两端数据库操作的一致性,这就需要提供方要保证幂等,而让微服务的开发者每一个微服务都保证幂等,无疑增加了微服务开发的难度和工作量。
发明内容
为了解决现有技术的不足,本公开提供了一种保证幂等的微服务调用监管系统及方法,保证了微服务的严格幂等,屏蔽了在不同系统以及不同数据库之间调用时造成的数据库操作一致性问题。
为了实现上述目的,本公开采用如下技术方案:
本公开第一方面提供了一种保证幂等的微服务调用监管系统。
一种保证幂等的微服务调用监管系统,包括交易申请模块和交易调用模块;
所述交易申请模块包括调用端交易申请模块和提供端交易申请模块,调用端发起调用申请时,通过调用端交易申请模块向提供端交易申请模块发起申请,提供端交易申请模块将生成的交易编号返回至调用端,调用端根据交易编号组装调用参数;
所述交易调用模块包括调用端交易调用模块和提供端交易调用模块,调用端通过调用端交易调用模块根据调用参数发起微服务调用,提供端交易调用模块接到调用请求,进行交易信息校验;
如果交易是首次发生,所述提供端交易调用模块将交易信息保存,调用微服务实现类,并保存交易结果,将交易结果通过调用端交易调用模块返回至调用端;
如果交易非首次发生,所述提供端交易调用模块获取交易信息,判断交易是否已经完成,如果上次调用交易已经完成,则将交易结果通过调用端交易调用模块返回至调用端,如果交易未完成,调用微服务实现类并保存交易结果,将交易结果通过调用端交易调用模块返回至调用端。
作为可能的一些实现方式,所述调用监管系统还包括交易后续结果存取模块,用于接收提供端的交易后续结果,调用端发送交易后续结果的调用请求到提供端,提供端判断后续结果是否设置,如果交易完成并且后续结果已经设置,交易后续结果存取模块将后续结果返回至调用端,调用端根据后续结果处理;如果交易未完成或者后续结果未设置,由调用端等待时机再次发起后续结果获取请求。
作为可能的一些实现方式,所述调用监管系统还包括交易管理模块,用于管理所有的微服务交易,查看每一次交易的详情,并针对交易异常的情况给出解决方案。
作为可能的一些实现方式,所述交易编号用于标志一次的微服务交易,一次微服务交易可以发生多次的微服务调用,每一次调用的交易编号相同。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山大地纬软件股份有限公司,未经山大地纬软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911380810.3/2.html,转载请声明来源钻瓜专利网。





