1.本发明涉及测试领域,特别是指一种基于微服务架构的动态挡板实现方法、系统及设备。
背景技术:
2.随着业务系统的复杂度提升,微服务数量急剧增大,且仍存在大量陈旧业务系统。混合架构模式下,使得开发联调和集成测试时困难越来越大。在开发联调和集成测试阶段,为了提高微服务开发和测试效率,需要针对依赖的微服务们做挡板。目前挡板方法主要为3大类;内嵌挡板代码、独立挡板服务,微服务调用但在微服务架构和传统rpc调用混合架构挡板效率不高。
3.其中,内嵌挡板代码,是通过编写代码,在特定条件下将访问某个所依赖服务的业务逻辑跳过,代码中直接模拟收到的响应内容。例如还款业务,“还款微服务”需要调用“优惠券微服务”查询优惠券信息。因优惠券微服务未开发完成,通过修改代码临时将请求“优惠券微服务”跳过不执行,代码中直接认为无优惠券可用,这样可以继续开发调试或集成测试该还款功能;但内嵌挡板代码需要在业务系统内嵌挡板代码,有代码侵入,而且若要在挡板数据和真实环境之间来回切换,每一次切换均需要一次修改。
4.独立挡板服务,是首先搭建部署独立的挡板服务。然后通过修改微服务项目配置文件,将访问某个所依赖服务的地址指向到挡板服务。在挡板服务上模拟期望返回的响应内容。例如还款业务,“还款微服务”需要调用“优惠券微服务”查询优惠券信息。因优惠券微服务未开发完成,通过修改“还款微服务”访问“优惠券微服务”的地址指向到挡板服务。在挡板服务中设定返回无优惠券。这样可以继续开发调试或集成测试该还款功能;但独立挡板服务方法需要修改配置改变请求地址,若要在挡板服务和真实环境之间来回切换,每一次切换均需要一次改动,当微服务的数量较多时,针对不同的微服务均需要修改,每个微服务的配置参数命名不同,频繁切换效率较低下。
5.微服务服务方法,是将挡板服务地址注册到注册中心,并设置较高的优先级(例如较高权重)。调用方服务调用时,根据优先级因挡板服务优先级较高,先请求挡板服务。如果需要切回原微服务,则将挡板服务的优先级放低;但微服务服务方法,仅支持微服务架构下挡板,不能兼容支持老的直联请求的挡板;且因微服务架构服务于线上业务,为了高性能调用方会对注册中心的信息做缓存,导致更新挡板服务的权重时不能实时生效,在挡板和原微服务之间切换会有一定延时。
技术实现要素:
6.本发明的主要目的在于克服现有技术中的上述缺陷,提出一种基于微服务架构的动态挡板实现方法,将挡板服务作为待被挡板的微服务注册到注册中心,调用方不需要修改代码和配置即可请求到挡板服务,提升微服务架构下传统挡板方法的测试效率,也可实现无代码和配置侵入,并允许在挡板和真实环境之间快速切换。
7.本发明采用如下技术方案:
8.一种基于微服务架构的动态挡板实现方法,包括如下步骤:
9.将挡板服务作为目标微服务注册到微服务注册中心,所述目标微服务为待被挡板的微服务;
10.响应于微服务调用端发送的目标微服务的调用请求,从微服务注册中心获取挡板服务地址;
11.挡板服务返回挡板数据。
12.具体地,还包括:
13.响应于微服务调用端发送的切回目标微服务的请求;
14.挡板服务通过反向代理请求至目标微服务;
15.将请求结果返回给微服务调用端。
16.具体地,所述挡板数据是预置的。
17.具体地,所述微服务注册中心是用于注册微服务及挡板服务。
18.本发明实施例另一方面提供一种基于微服务架构的动态挡板实现系统,包括:
19.配置模块:将挡板服务作为目标微服务注册到微服务注册中心,所述目标微服务为待被挡板的微服务;
20.获取模块:响应于微服务调用端发送的目标微服务的调用请求,从微服务注册中心获取挡板服务地址;
21.反馈模块:挡板服务返回挡板数据。
22.具体地,还包括:
23.响应模块:响应于微服务调用端发送的切回目标微服务的请求;
24.反向代理模块:挡板服务通过反向代理请求至目标微服务;
25.返回模块:将请求结果返回给微服务调用端
26.具体地,所述配置模块中,挡板数据是预置的。
27.具体地,所述配置模块中,微服务注册中心是用于注册微服务及挡板服务。
28.本发明实施例再一方面提供一种基于微服务架构的动态挡板实现设备,包括:
29.至少一个处理器;以及,
30.与所述至少一个处理器通信连接的存储器;其中,
31.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
32.将挡板服务作为目标微服务注册到微服务注册中心,所述目标微服务为待被挡板的微服务;
33.响应于微服务调用端发送的目标微服务的调用请求,从微服务注册中心获取挡板服务地址;
34.挡板服务返回挡板数据。
35.本发明实施例又一方面提供一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述一种基于微服务架构的动态挡板实现方法。
36.由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
37.本发明提供了一种基于微服务架构的动态挡板实现方法,将挡板服务作为待被挡板的微服务注册到注册中心,调用方从注册中心获取到要调用的微服务地址(实际为挡板服务),并发起请求访问。若需要切回到原来微服务环境,只需要在挡板服务中心通过反向代理转发至原微服务地址;本发明方法仅需要在挡板服务中设定挡板数据,即可在原微服务和挡板服务之间进行快速来回切换,不再需要修改所有微服务的代码和配置项。
附图说明
38.图1为本发明实施例提出的一种基于微服务架构的动态挡板实现方法流程图;
39.图2是本发明实施例提供的测试实例的原始架构示意图;
40.图3为本发明实施例提供的测试实例应用本发明方法的架构示意图;
41.图4为本发明实施例提供的测试实例应用本发明方法的架构另一示意图;
42.图5为本发明实施例提供的一种基于微服务架构的动态挡板实现系统结构图;
43.图6为本发明实施例提供的一种电子设备的实施例示意图;
44.图7为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
45.以下结合附图和具体实施例对本发明作进一步详述。
具体实施方式
46.本发明提供了一种基于微服务架构的动态挡板实现方法,将挡板服务作为待被挡板的微服务注册到注册中心,调用方从注册中心获取到要调用的微服务地址(实际为挡板服务),并发起请求访问。若需要切回到原来微服务环境,只需要在挡板服务中心通过反向代理转发至原微服务地址;本发明方法仅需要在挡板服务中设定挡板数据,即可在原微服务和挡板服务之间进行快速来回切换,不再需要修改所有微服务的代码和配置项。
47.本发明中涉及的专业术语;
48.单体服务:将所有业务场景的表示层、业务逻辑层和数据访问层放在一个工程中,最终经过编译、打包,部署在服务器上。
49.微服务:解耦单体服务,为提高开发维护(业务解耦、代码解耦、小团队负责)和运维维护(独立部署)便利性,提高可测试性,最终提高软件的生产效率。
50.挡板:当依赖的微服务系统未开发完成或者不稳定时,通过修改代码或者部署挡板服务来模拟被调用服务方返回预定义的响应报文,用于开发联调或集成测试。
51.反向代理:服务器根据客户端的请求,从其关系的一组或多组后端服务器(如web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的ip地址,而不知道在代理服务器后面的服务器集群的存在;反向代理用来保护服务端系统。
52.如图1,为本发明实施例提供的一种基于微服务架构的动态挡板实现方法的流程图,具体包括:
53.一种基于微服务架构的动态挡板实现方法,包括如下步骤:
54.s101:将挡板服务作为目标微服务注册到微服务注册中心,所述目标微服务为待被挡板的微服务;具体地,所述挡板数据是预置的。
55.具体地,所述微服务注册中心是用于注册微服务及挡板服务。
56.s102:响应于微服务调用端发送的目标微服务的调用请求,从微服务注册中心获
取挡板服务地址;
57.s103:挡板服务返回挡板数据。
58.具体地,还包括:
59.响应于微服务调用端发送的切回目标微服务的请求;
60.挡板服务通过反向代理请求至目标微服务;
61.将请求结果返回给微服务调用端。
62.如图2,为本发明实施例提供的测试实例的原始架构示意图,例如还款业务,“还款微服务”需要调用“优惠券微服务”查询优惠券信息;首先将还款微服务和优惠券微服务注册到注册中心,“还款微服务”需要调用“优惠券微服务”时,还款微服务请求优惠券微服务;
63.而本发明方法将被依赖的微服务不再注册到注册中心,而是一次性配置;将挡板注册到注册中心并注册为原微服务;此时请求会默认请求到挡板服务。
64.如图3-4,本发明实施例提供的测试实例应用本发明方法的架构示意图,将还款微服务和假的优惠券微服务,实际是挡板服务,注册到注册中心,当还款微服务从注册中心获取优惠券微服务的访问地址时,实际是请求到挡板服务,挡板服务返回挡板数据;若需将服务提供者切换至原微服务,则直接在挡板服务中心进行反向代理转发至优惠券微服务,并将结果反馈给还款服务。
65.仅需要在挡板服务中设定挡板数据或者在原微服务和挡板服务之间进行快速来回切换。不再需要修改所有微服务的代码和配置项。
66.如图5,本发明实施例另一方面提供一种基于微服务架构的动态挡板实现系统,包括:
67.配置模块501:将挡板服务作为目标微服务注册到微服务注册中心,所述目标微服务为待被挡板的微服务;
68.获取模块502:响应于微服务调用端发送的目标微服务的调用请求,从微服务注册中心获取挡板服务地址;
69.反馈模块503:挡板服务返回挡板数据。
70.具体地,还包括:
71.响应模块:响应于微服务调用端发送的切回目标微服务的请求;
72.反向代理模块:挡板服务通过反向代理请求至目标微服务;
73.返回模块:将请求结果返回给微服务调用端。
74.如图6所示,本发明实施例提供了一种电子设备600,包括存储器610、处理器620及存储在存储器620上并可在处理器620上运行的计算机程序611,处理器620执行计算机程序611时实现本发明实施例提供的一种基于微服务架构的动态挡板实现方法。
75.在具体实施过程中,处理器620执行计算机程序611时,可以实现以下方法:
76.将挡板服务作为目标微服务注册到微服务注册中心,所述目标微服务为待被挡板的微服务;
77.响应于微服务调用端发送的目标微服务的调用请求,从微服务注册中心获取挡板服务地址;
78.挡板服务返回挡板数据。
79.由于本实施例所介绍的电子设备为实施本发明实施例中一种数据处理装置所采
用的设备,故而基于本发明实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍,只要本领域所属技术人员实施本发明实施例中的方法所采用的设备,都属于本发明所欲保护的范围。
80.请参阅图7,图7为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
81.如图7所示,本实施例提供了一种计算机可读存储介质700,其上存储有计算机程序711,该计算机程序711被处理器执行时实现本发明实施例提供的一种基于微服务架构的动态挡板实现方法;
82.在具体实施过程中,该计算机程序711被处理器执行时可以实现如下方法:
83.将挡板服务作为目标微服务注册到微服务注册中心,所述目标微服务为待被挡板的微服务;
84.响应于微服务调用端发送的目标微服务的调用请求,从微服务注册中心获取挡板服务地址;
85.挡板服务返回挡板数据。
86.需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
87.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
88.本发明提供了一种基于微服务架构的动态挡板实现方法,将挡板服务作为待被挡板的微服务注册到注册中心,调用方从注册中心获取到要调用的微服务地址(实际为挡板服务),并发起请求访问。若需要切回到原来微服务环境,只需要在挡板服务中心通过反向代理转发至原微服务地址;本发明方法仅需要在挡板服务中设定挡板数据,即可在原微服务和挡板服务之间进行快速来回切换,不再需要修改所有微服务的代码和配置项。
89.上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
技术特征:
1.一种基于微服务架构的动态挡板实现方法,其特征在于,包括如下步骤:将挡板服务作为目标微服务注册到微服务注册中心,所述目标微服务为待被挡板的微服务;响应于微服务调用端发送的目标微服务的调用请求,从微服务注册中心获取挡板服务地址;挡板服务返回挡板数据。2.根据权利要求1所述的一种基于微服务架构的动态挡板实现方法,其特征在于,还包括:响应于微服务调用端发送的切回目标微服务的请求;挡板服务通过反向代理请求至目标微服务;将请求结果返回给微服务调用端。3.根据权利要求1所述的一种基于微服务架构的动态挡板实现方法,其特征在于,所述挡板数据是预置的。4.根据权利要求1所述的一种基于微服务架构的动态挡板实现方法,其特征在于,所述微服务注册中心是用于注册微服务及挡板服务。5.一种基于微服务架构的动态挡板实现系统,其特征在于,包括:配置模块:将挡板服务作为目标微服务注册到微服务注册中心,所述目标微服务为待被挡板的微服务;获取模块:响应于微服务调用端发送的目标微服务的调用请求,从微服务注册中心获取挡板服务地址;反馈模块:挡板服务返回挡板数据。6.根据权利要求5所述的一种基于微服务架构的动态挡板实现系统,其特征在于,还包括:响应模块:响应于微服务调用端发送的切回目标微服务的请求;反向代理模块:挡板服务通过反向代理请求至目标微服务;返回模块:将请求结果返回给微服务调用端。7.根据权利要求5所述的一种基于微服务架构的动态挡板实现系统,其特征在于,所述配置模块中,挡板数据是预置的。8.根据权利要求5所述的一种基于微服务架构的动态挡板实现方法,其特征在于,所述配置模块中,微服务注册中心是用于注册微服务及挡板服务。9.一种基于微服务架构的动态挡板实现设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:将挡板服务作为目标微服务注册到微服务注册中心,所述目标微服务为待被挡板的微服务;响应于微服务调用端发送的目标微服务的调用请求,从微服务注册中心获取挡板服务地址;
挡板服务返回挡板数据。10.一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现权利要求1至4中任一项所述的方法。
技术总结
本发明提供了一种基于微服务架构的动态挡板实现方法,将挡板服务作为目标微服务注册到微服务注册中心,所述目标微服务为待被挡板的微服务;响应于微服务调用端发送的目标微服务的调用请求,从微服务注册中心获取挡板服务地址;挡板服务返回挡板数据;本发明方法仅需要在挡板服务中设定挡板数据,即可在原微服务和挡板服务之间进行快速来回切换,不再需要修改所有微服务的代码和配置项。改所有微服务的代码和配置项。改所有微服务的代码和配置项。
技术研发人员:李豪 安硕 吴迪
受保护的技术使用者:厦门友微科技有限公司
技术研发日:2021.10.29
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-9072.html