微服务架构中调用对象的方法、装置、架构、设备和介质制造方法及图纸

技术编号:39313394 阅读:11 留言:0更新日期:2023-11-12 15:58
本发明专利技术公开了一种微服务架构中调用对象的方法、装置、架构、设备和存储介质,以解决在本地微服务的开发过程中服务对象误调用,从而导致开发中的本地微服务难以被准确、高效地调试。该方法包括:在微服务架构中,监听本地微服务的服务对象导出事件,以获取本地微服务的本地服务对象和本地服务对象的地址信息;用本地服务对象和地址信息,生成指向本地服务对象的路由路径;当本地微服务调用目标对象时,判断本地微服务是否存在目标对象对应的本地服务对象;若存在,则优先访问目标对象对应的路由路径,以调用目标对象对应的本地服务对象;若不存在,则在微服务架构的线上微服务中,调用目标对象对应的线上服务对象。目标对象对应的线上服务对象。目标对象对应的线上服务对象。

【技术实现步骤摘要】
微服务架构中调用对象的方法、装置、架构、设备和介质


[0001]本专利技术涉及程序研发领域,尤其涉及一种微服务架构中调用对象的方法、装置、架构、计算机设备和存储介质。

技术介绍

[0002]微服务架构(简称微服务)是指开发应用所用的一种架构形式。通过微服务,可将大型应用分解成多个独立的组件,其中每个组件都有各自的责任领域。在处理一个用户请求时,基于微服务的应用可能会调用许多内部微服务来共同生成其响应。
[0003]由于微服务之间的调用依赖于注册中心,因此在微服务的开发阶段,若研发人员正在开发其中一个微服务,而其他微服务已经被发布到线上时,则需要将正在开发的微服务注册到注册中心,才能对正在开发的微服务进行调试。这使得正在开发中的本地微服务会被线上微服务误调用,而本地微服务也会误调用到线上微服务,因而无法保证本地微服务调试和测试过程的准确性和高效性。

技术实现思路

[0004]本专利技术实施例提供一种微服务架构中调用对象的方法、装置、计算机设备及存储介质以解决在本地微服务的开发过程中服务对象误调用,从而导致开发中的本地微服务难以被准确、高效地调试。
[0005]本专利技术第一方面,提供了一种微服务架构中调用对象的方法,包括:
[0006]在微服务架构中,监听本地微服务的服务对象导出事件,以获取所述本地微服务的本地服务对象和所述本地服务对象的地址信息;
[0007]用所述本地服务对象和所述地址信息,生成指向所述本地服务对象的路由路径;
[0008]当所述本地微服务调用目标对象时,判断所述本地微服务是否存在所述目标对象对应的所述本地服务对象;
[0009]若存在,则优先访问所述目标对象对应的所述路由路径,以调用所述目标对象对应的所述本地服务对象;
[0010]若不存在,则在所述微服务架构的线上微服务中,调用所述目标对象对应的线上服务对象。
[0011]在一种可能的设计中,所述优先访问所述目标对象对应的所述路由路径,包括:
[0012]在所述本地微服务的路由配置文件中,读取所述线上微服务的路径优先级;
[0013]将预期优先级设置为大于所述线上微服务的路径优先级;
[0014]在所述本地微服务的路由配置文件中,将所述路由路径的路径优先级设置为所述预期优先级;
[0015]通过访问所述路由配置文件,以优先访问所述路由路径。在一种可能的设计中,所述用所述本地服务对象和所述地址信息,生成指向所述本地服务对象的路由路径之后,所述方法还包括:
[0016]在本地缓存中,生成包含所述路由路径的路由配置文件,并将所述路由配置文件加载到所述本地微服务中。
[0017]在一种可能的设计中,所述判断所述本地微服务是否存在所述目标对象对应的所述本地服务对象,包括:
[0018]读取所述本地微服务的路由配置文件,所述路由配置文件包括所述本地服务对象;
[0019]在所述路由配置文件中,遍历所述本地服务对象,以判断所述路由配置文件中是否存在所述目标对象对应的所述本地服务对象。
[0020]在一种可能的设计中,所述在所述微服务架构的线上微服务中,调用所述目标对象对应的线上服务对象,包括:
[0021]在所述微服务架构的注册中心,查找出所述线上微服务;
[0022]在所述线上微服务中,查找出所述线上服务对象;
[0023]调用所述线上服务对象。
[0024]在一种可能的设计中,所述在所述微服务架构的注册中心,查找出所述线上微服务之前,所述方法还包括:
[0025]判断所述注册中心是否已经启动;
[0026]若是,则判断所述线上微服务是否存在;
[0027]若存在,则将所述线上服务对象写入所述注册中心。
[0028]第二方面,提供了一种微服务架构中调用对象的装置,包括:
[0029]监听模块,用于在微服务架构中,监听本地微服务的服务对象导出事件,以获取所述本地微服务的本地服务对象和所述本地服务对象的地址信息;
[0030]生成模块,用于用所述本地服务对象和所述地址信息,生成指向所述本地服务对象的路由路径;
[0031]判断模块,用于当所述本地微服务调用目标对象时,判断所述本地微服务是否存在所述目标对象对应的所述本地服务对象;
[0032]访问模块,用于若存在,则优先访问所述目标对象对应的所述路由路径,以调用所述目标对象对应的所述本地服务对象;
[0033]调用模块,用于若不存在,则在所述微服务架构的线上微服务中,调用所述目标对象对应的线上服务对象。
[0034]第三方面,提供了一种微服务的架构,包括上述微服务架构中调用对象的装置。
[0035]第四方面,提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述微服务架构中调用对象的方法的步骤。
[0036]第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述微服务架构中调用对象的方法的步骤。
[0037]上述微服务架构中调用对象的方法、装置、架构、计算机设备及存储介质,首先,通过在微服务架构中,监听本地微服务的服务对象导出事件,以获取本地微服务的本地服务对象和本地服务对象的地址信息。然后,用本地服务对象和地址信息,生成指向本地服务对
象的路由路径。接着,当本地微服务调用目标对象时,判断本地微服务是否存在目标对象对应的本地服务对象。若存在,则优先访问目标对象对应的路由路径,以调用目标对象对应的本地服务对象;若不存在,则在微服务架构的线上微服务中,调用目标对象对应的线上服务对象。该方法实质上是在微服务架构中,通过将本地微服务中的服务对象和地址信息存储到文件中,遍历缓存文件中的缓存对象,高效地判断调用的目标对象是否存在于缓存文件中,也就是目标对象是否存在于缓存对象中,以实现本地微服务存在目标对象时,优先通过缓存地址调用本地微服务中目标对象对应的服务对象,无需像现有技术中每次调用目标服务都需要从注册中心调用,从而有效防止在本地微服务的开发过程中服务对象被误调用,也防止了线上微服务误调用到本地微服务中的服务对象,从而导致开发中的本地微服务难以被准确、高效地调试,以及线上微服务无法稳定运行,提高了在微服务架构中调用对象的高效性和便捷性。
附图说明
[0038]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0039]图1是本专利技术一实施例中微服务架构中调用对象的方法的一应用环境示意图;
[0040]图2是本专利技术一实施例中微服务架构中调用对象的方法的一流程示意图;
[0041]图3是本专利技术一实施例中微本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务架构中调用对象的方法,其特征在于,包括:在微服务架构中,监听本地微服务的服务对象导出事件,以获取所述本地微服务的本地服务对象和所述本地服务对象的地址信息;用所述本地服务对象和所述地址信息,生成指向所述本地服务对象的路由路径;当所述本地微服务调用目标对象时,判断所述本地微服务是否存在所述目标对象对应的所述本地服务对象;若存在,则优先访问所述目标对象对应的所述路由路径,以调用所述目标对象对应的所述本地服务对象;若不存在,则在所述微服务架构的线上微服务中,调用所述目标对象对应的线上服务对象。2.如权利要求1所述微服务架构中调用对象的方法,其特征在于,所述优先访问所述目标对象对应的所述路由路径,包括:在所述本地微服务的路由配置文件中,读取所述线上微服务的路径优先级;将预期优先级设置为大于所述线上微服务的路径优先级;在所述本地微服务的路由配置文件中,将所述路由路径的路径优先级设置为所述预期优先级;通过访问所述路由配置文件,以优先访问所述路由路径。3.如权利要求1所述微服务架构中调用对象的方法,其特征在于,所述用所述本地服务对象和所述地址信息,生成指向所述本地服务对象的路由路径之后,所述方法还包括:在本地缓存中,生成包含所述路由路径的路由配置文件,并将所述路由配置文件加载到所述本地微服务中。4.如权利要求1所述微服务架构中调用对象的方法,其特征在于,所述判断所述本地微服务是否存在所述目标对象对应的所述本地服务对象,包括:读取所述本地微服务的路由配置文件,所述路由配置文件包括所述本地服务对象;在所述路由配置文件中,遍历所述本地服务对象,以判断所述路由配置文件中是否存在所述目标对象对应的所述本地服务对象。5.如权利要求1所述微服务架构中调用对象的方法,其特征在于,...

【专利技术属性】
技术研发人员:刘钦新
申请(专利权)人:深圳前海环融联易信息科技服务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1