网格环境应用的服务调用方法、计算机设备、存储介质技术

技术编号:37273014 阅读:7 留言:0更新日期:2023-04-20 23:41
本发明专利技术涉及一种网格环境应用的服务调用方法、计算机设备、存储介质,具体为:编写开发模式下的服务调用模块,通过固定URL进行服务调用;编写网格模式下的服务调用模块,生成远程URL并通过sidecar组件进行服务调用;设置环境变量,将环境变量的不同取值分别关联开发模式下的服务调用模块和网格模式下的服务调用模块;应用在本地开发测试时,通过调整环境变量使用开发模式下的服务调用模块,应用部署到网格环境时,通过调整环境变量使用网格模式下的服务调用模块。现有技术相比,本发明专利技术使用环境变量作为开关,在两种服务调用模块之间进行切换,从而实现开发测试环境与网格环境下的兼容,减少了代码的修改,降低了应用发布的耗时,提高了效率。提高了效率。提高了效率。

【技术实现步骤摘要】
网格环境应用的服务调用方法、计算机设备、存储介质


[0001]本专利技术涉及应用开发测试
,尤其是涉及一种网格环境应用的服务调用方法、计算机设备、存储介质。

技术介绍

[0002]服务网格主要依托于k8s环境,当前所有的应用都需要部署在k8s环境中。应用开发测试过程中,主流的做法是结合CI/CD,应用完成功能开发后,通过快速发布,在测试的k8s环境中完成功能的验证。当测试完成后应用上线,也就是部署在k8s环境中。
[0003]一个系统由多个独立的应用组成,我们将这些应用称之为服务。在进行服务间接口调用时,网格环境下部署有sidecar组件,网格环境下会通过系统名、服务名、接口动态生成URL,并通过sidecar路由到相应的服务完成调用。而本地开发终端IDE的环境并不是网格环境,如部署在windows环境下的开发终端无法部署sidecar组件,因此,在本地的开发终端上进行服务间接口调用时,一般由开发人员提供完整的URL(在代码中明确调用的系统及下属服务的ip,端口,接口path(如:a/b/c))完成服务间调用。
[0004]由于无法兼容网格环境和本地开发环境,所以在应用的开发测试阶段和上线阶段,当应用发布至网格环境时,需要对代码进行修改,增大了应用发布的耗时,导致效率降低。

技术实现思路

[0005]本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种网格环境应用的服务调用方法、计算机设备、存储介质。
[0006]本专利技术的目的可以通过以下技术方案来实现:/>[0007]一种网格环境应用的服务调用方法,具体为:
[0008]编写开发模式下的服务调用模块,所述开发模式下的服务调用模块通过固定URL进行服务调用;
[0009]编写网格模式下的服务调用模块,所述网格模式下的服务调用模块生成远程URL并通过sidecar组件进行服务调用;
[0010]设置环境变量,将环境变量分别关联开发模式下的服务调用模块和网格模式下的服务调用模块;
[0011]应用在本地开发测试时,通过调整环境变量使用开发模式下的服务调用模块,应用部署到网格环境时,通过调整环境变量使用网格模式下的服务调用模块。
[0012]进一步地,所述环境变量的取值包括第一数值和第二数值。
[0013]进一步地,当环境变量的取值为第一数值时,使用开发模式下的服务调用模块进行服务间调用,当环境变量的取值为第二数值时,使用网格模式下的服务调用模块进行服务间调用。
[0014]进一步地,网格模式下的服务调用模块生成远程URL具体为:
[0015]获取系统名称、服务名称和域名,按照预设置的规则生成远程URL。
[0016]进一步地,预设置的规则为:http://服务名.系统名

系统名.域名。
[0017]进一步地,所述网格模式下的服务调用模块中,还包括通过固定URL进行服务调用,具体为:
[0018]sidecar组件对服务调用请求的URL进行拦截,若服务调用请求的URL满足预设置的规则,则通过sidecar组件进行服务调用,否则直接根据URL进行服务调用。
[0019]进一步地,所述环境变量的类型为布尔型变量。
[0020]进一步地,还包括:通过日志记录每次服务调用的调用信息。
[0021]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的服务调用方法。
[0022]一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的服务调用方法。
[0023]与现有技术相比,本专利技术具有以下有益效果:
[0024]使用环境变量作为开关,在两种服务调用模块之间进行切换,从而实现开发测试环境与网格环境下的兼容,减少了代码的修改,降低了应用发布的耗时,提高了效率。
附图说明
[0025]图1为本专利技术的流程示意图。
具体实施方式
[0026]下面结合附图和具体实施例对本专利技术进行详细说明。本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例,本专利技术的保护范围不限于下述的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0027]此处所称的“一个实施例”或“实施例”是指可包含于本专利技术至少一个实现方式中的特定特征、结构或特性。在本专利技术的描述中,需要理解的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。名词解释:
[0028]Sidecar(边车)模式:Sidecar(边车)模式是一种将应用功能从应用本身剥离出来作为单独进程的方式。该模式允许我们向应用无侵入添加多种功能,避免了为满足第三方组件需求而向应用添加额外的配置代码。边车服务不一定是应用程序的一部分,而是与之相关联。它适用于父应用程序的任何位置。Sidecar支持与主应用程序一起部署的进程或服务。
[0029]使用边车模式的优点包括:在运行时环境和编程语言方面,边车独立于其主要应用程序,因此不需要为每种语言开发一个边车。边车可以访问与主应用程序相同的资源。例
如,边车可以监视边车和主应用程序使用的系统资源。由于它靠近主应用程序,因此在它们之间进行通信时没有明显的延迟。即使对于不提供可扩展性机制的应用程序,也可以使用边车通过将其作为自己的进程附加到与主应用程序相同的主机或子容器中来扩展功能。
[0030]Sidecar模式是如何工作的:服务网格层可以存在于与应用程序一起运行的Sidecar容器中,每个应用程序旁边都附有相同的Sidecar副本。来自单个服务的所有传入和传出网络流量,都流经Sidecar代理。因此,Sidecar能够管理微服务之间的流量,可收集数据并实施相关策略。从某个角度来说,应用并不需要了解网路外部的系统,只需要知道附加的Sidecar代理,这就是Sidecar模式:Sidecar工作模式的本质:将网络依赖抽象为Sidecar。
[0031]一个系统由多个独立的应用组成,我们将这些应用称之为服务。在本地开发端,进行服务间接口调用时,需要在代码中明确调用的系统及下属服务的ip,端口,接口path(如:a/b/c),即通过固定URL进行服务调用,如http://localhost:8080/s1。在网格环境下,进行服务间接口调用时,会根据系统名,服务名,接口path动态生成URL,如http://service.s本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种网格环境应用的服务调用方法,其特征在于,具体为:编写开发模式下的服务调用模块,所述开发模式下的服务调用模块通过固定URL进行服务调用;编写网格模式下的服务调用模块,所述网格模式下的服务调用模块生成远程URL并通过sidecar组件进行服务调用;设置环境变量,将环境变量关联开发模式下的服务调用模块和网格模式下的服务调用模块;应用在本地开发测试时,通过调整环境变量使用开发模式下的服务调用模块,应用部署到网格环境时,通过调整环境变量使用网格模式下的服务调用模块。2.根据权利要求1所述的一种网格环境应用的服务调用方法,其特征在于,所述环境变量的取值包括第一数值和第二数值。3.根据权利要求2所述的一种网格环境应用的服务调用方法,其特征在于,当环境变量的取值为第一数值时,使用开发模式下的服务调用模块进行服务间调用,当环境变量的取值为第二数值时,使用网格模式下的服务调用模块进行服务间调用。4.根据权利要求1所述的一种网格环境应用的服务调用方法,其特征在于,网格模式下的服务调用模块生成远程URL具体为:获取系统名称、服务名称和域名,按照预设置的规则生成远程URL。5.根据权利要求4所述的一...

【专利技术属性】
技术研发人员:铁锦程张磊敏李虎曾毅峰刘佳利刘冉
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:

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

1