CN117336348A - 一种应用调用方法、装置、电子装置和存储介质 - Google Patents
一种应用调用方法、装置、电子装置和存储介质 Download PDFInfo
- Publication number
- CN117336348A CN117336348A CN202311058630.XA CN202311058630A CN117336348A CN 117336348 A CN117336348 A CN 117336348A CN 202311058630 A CN202311058630 A CN 202311058630A CN 117336348 A CN117336348 A CN 117336348A
- Authority
- CN
- China
- Prior art keywords
- application
- environment
- project
- project environment
- applications
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 15
- 239000002699 waste material Substances 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种应用调用方法、装置、电子装置和存储介质,其中,该应用调用方法包括:将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中;在注册中心中创建所述项目环境的应用地址数据;所述应用地址数据包括所述项目环境的项目标识和所述项目环境所涉及的应用链路中的应用的地址;根据公共环境中的网关和所述应用地址数据,按照应用链路中的应用的顺序进行应用调用。通过本申请,解决了现有技术中每个项目环境均需要部署整个应用链路的所有应用,从而导致系统资源浪费的问题。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用调用方法、装置、电子装置和存储介质。
背景技术
现有的项目环境部署在k8s集群,基于SpringCloud+APISix+Zuul Gateway+Eureka微服务架构,每个环境部署了一套完整的应用。每个业务是个链路,如一个业务的应用链路涉及N个应用,每个项目环境均需要部署整个应用链路的所有N个应用,N个应用需要占用N个应用的系统资源。如有M个项目,则每个项目需要启动M套完整的环境,造成系统资源的浪费。
发明内容
在本申请中提供了一种应用调用方法、装置、电子装置和存储介质,以解决现有技术中每个项目环境均需要部署整个应用链路的所有应用,从而导致系统资源浪费的问题。
第一个方面,在本申请中提供了一种应用调用方法,所述方法包括:
将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中;
在注册中心中创建所述项目环境的应用地址数据;所述应用地址数据包括所述项目环境的项目标识和所述项目环境所涉及的应用链路中的应用的地址;
根据公共环境中的网关和所述应用地址数据,按照应用链路中的应用的顺序进行应用调用。
在其中的一些实施例中,所述根据公共环境中的网关和所述应用地址数据,按照应用链路中的应用的顺序进行应用调用,包括:
创建前端应用的域名;所述前端应用的域名携带所述项目环境的项目标识,所述前端应用部署在公共环境中;
根据前端应用的域名、公共环境中的网关和所述应用地址数据,按照应用链路中的应用的顺序进行应用调用;所述前端应用部署在公共环境中。
在其中的一些实施例中,所述根据前端应用的域名、公共环境中的网关和所述应用地址数据,按照应用链路中的应用的顺序进行应用调用,包括:
根据所述前端应用的域名,访问所述前端应用;
根据所述前端应用的执行结果和所述公共环境中的网关的执行结果,确定目标后端应用地址;所述目标后端应用地址为所述公共环境中的网关根据所述前端应用发送的请求消息和所述注册中心中的应用地址数据确定的目标后端应用的地址,所述目标后端应用为根据所述前端应用和所述应用链路确定的所述前端应用的下一应用;所述请求消息中包括所述项目环境的项目标识;
根据所述目标后端应用地址,进行所述目标后端应用的调用。
在其中的一些实施例中,在根据所述目标后端应用地址,进行所述目标后端应用的调用之后,所述方法还包括:
根据所述目标后端应用的执行结果和所述注册中心中的应用地址数据,对所述应用链路中的其他后端应用进行调用。
在其中的一些实施例中,所述项目环境所涉及的应用链路中的应用的地址包括项目环境中的应用的地址和公共环境中的应用的地址。
在其中的一些实施例中,所述将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中,包括:
将所述应用链路中待开发的后端应用,以及在所述应用链路中所述待开发的后端应用之间的应用,部署在所述项目环境中。
在其中的一些实施例中,在将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中之前,所述方法包括:
根据所述项目环境的信息,确定所述项目环境所涉及的应用链路。
第二个方面,在本申请中提供了一种应用调用装置,所述装置包括:
部署模块,用于将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中;
创建模块,用于在注册中心中创建所述项目环境的应用地址数据;所述应用地址数据包括所述项目环境的项目标识和所述项目环境所涉及的应用链路中的应用的地址;
调用模块,用于根据公共环境中的网关和所述应用地址数据,按照应用链路中的应用的顺序进行应用调用。
第三个方面,在本申请中提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行第一个方面所述的应用调用方法。
第四个方面,在本申请中提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一个方面所述的应用调用方法的步骤。
与现有技术相比,在本申请中提供的一种应用调用方法、装置、电子装置和存储介质,通过仅将应用链路中待开发的应用部署在项目环境中,通过网关和注册中心来实现应用链路中所有应用的调用,解决了现有技术中每个项目环境均需要部署整个应用链路的所有应用,从而导致系统资源浪费的问题。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是执行本申请实施例的一种应用调用方法的终端的硬件结构框图;
图2是本申请实施例的一种应用调用方法的流程图;
图3是本申请实施例的一种应用调用系统的结构示意图;
图4是本申请实施例的另一种应用调用方法的流程图;
图5是本申请实施例的一种应用调用装置的结构框图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
在本申请中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是执行本申请实施例的一种应用调用方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的一种应用调用方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本申请中提供了一种应用调用方法,图2是本申请实施例的一种应用调用方法的流程图,如图2所示,该流程包括如下步骤:
步骤S210,将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中。
具体地,构建应用开发所需要的项目环境,将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中。
进一步具体地,如构建的应用开发所需要的项目环境为项目环境B,待开发的后端应用所在的应用链路A中包括N个应用,N个用于分别为前端应用、后端应用1、后端应用2、后端应用3……后端应用N-1,应用链路A即为项目环境B所涉及的应用链路,应用链路A中的应用的调用关系为:前端应用→后端应用1→后端应用2→后端应用3→……→后端应用N-1,即前面的应用调用后面的应用,如前端应用调用后端应用1、后端应用1调用后端应用2等,在此不一一进行列举。设后端应用i和其调用的后端应用i+1为待开发的后端应用,将后端应用i和后端应用i+1部署在项目环境B中,其他N-2个应用不需要部署在项目环境中,应用链路A的所有的应用均部署在公共环境中。其中,N为大于或等于5的正整数,i为大于或等于1小于N-1的正整数。
步骤S220,在注册中心中创建项目环境的应用地址数据;应用地址数据包括项目环境的项目标识和项目环境所涉及的应用链路中的应用的地址。
具体地,根据项目环境的项目标识,在注册中心中创建项目环境的应用地址数据,该应用地址数据包括项目环境的项目标识和项目环境所涉及的应用链路中的应用的地址。
进一步具体地,根据项目环境B的项目标识,在注册中心中创建项目环境B的应用地址数据,该应用地址数据包括项目环境B的项目标识和项目环境B所涉及的应用链路A中的应用的地址,项目环境B的应用地址数据中包括公共环境中的应用的地址和项目环境B中部署的应用的地址,项目环境B的应用地址数据优先指向项目环境B中部署的应用。例如,后端应用i和后端应用i+1为待开发的后端应用,后端应用i和后端应用i+1部署在项目环境B中,公开环境和项目环境B中均部署有后端应用i和后端应用i+1,则项目环境B的应用地址数据中的后端应用i和后端应用i+1的地址即为后端应用i和后端应用i+1在项目环境B中的地址,即项目环境B的应用地址数据中的后端应用i和后端应用i+1的地址指向项目环境B中的后端应用i和后端应用i+1,对于应用链路A中的其他N-2个应用的地址指向公共环境中的相对应的应用。在注册中心中创建项目环境的应用地址数据的过程中,可以通过API网关来发现项目环境B中的应用,当项目环境B中有应用,则API网关会创建一条域名记录,该域名记录指向项目环境中B的应用,该域名记录可以作为项目环境中的应用的地址。
步骤S230,根据公共环境中的网关和应用地址数据,按照应用链路中的应用的顺序进行应用调用。
具体地,前端应用向公共环境的网关发起请求,网关根据前端应用中请求头中带有的项目环境的项目标识来筛选应用链路中对应调用的下游应用,从而实现应用链路中的应用的调用。当前应用2在项目环境中,则请求到项目环境中的应用2。
进一步具体地,应用链路A中的前端应用向公共环境的网关发起请求,网关根据前端应用中请求头中带有的项目环境B的项目标识,从注册中心的应用地址数据中获取后端应用1的地址,从而实现后端应用1的调用。当后端应用1在项目环境B中时,则根据注册中心的应用地址数据中获取后端应用1的地址,请求到项目环境B中的后端应用1;当后端应用1在公共环境中,不在项目环境B中时,则根据注册中心的应用地址数据中获取后端应用1的地址,请求到公共环境中的后端应用1。
在本实施例中,仅将应用链路中待开发的应用部署在项目环境中,通过网关和注册中心来实现应用链路中所有应用的调用,解决了现有技术中每个项目环境均需要部署整个应用链路的所有N个应用,从而导致系统资源浪费的问题。
在其中的一些实施例中,根据公共环境中的网关和应用地址数据,按照应用链路中的应用的顺序进行应用调用,包括:创建前端应用的域名;前端应用的域名携带项目环境的项目标识,前端应用部署在公共环境中;根据前端应用的域名、公共环境中的网关和应用地址数据,按照应用链路中的应用的顺序进行应用调用;前端应用部署在公共环境中。
在其中的一些实施例中,根据前端应用的域名、公共环境中的网关和应用地址数据,按照应用链路中的应用的顺序进行应用调用,包括:根据前端应用的域名,访问前端应用;根据前端应用的执行结果和公共环境中的网关的执行结果,确定目标后端应用地址;目标后端应用地址为公共环境中的网关根据前端应用发送的请求消息和注册中心中的应用地址数据确定的目标后端应用的地址,目标后端应用为根据前端应用和应用链路确定的前端应用的下一应用;请求消息中包括项目环境的项目标识;根据目标后端应用地址,进行目标后端应用的调用。
在其中的一些实施例中,在根据目标后端应用地址,进行目标后端应用的调用之后,方法还包括:根据目标后端应用的执行结果和注册中心中的应用地址数据,对应用链路中的其他后端应用进行调用。
在其中的一些实施例中,项目环境所涉及的应用链路中的应用的地址包括项目环境中的应用的地址和公共环境中的应用的地址。
在其中的一些实施例中,将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中,包括:将应用链路中待开发的后端应用,以及在应用链路中待开发的后端应用之间的应用,部署在项目环境中。
具体地,项目环境B所涉及的应用链路A中中包括N个应用,N个用于分别为前端应用、后端应用1、后端应用2、后端应用3……后端应用N-1,应用链路A中的应用的调用关系为:前端应用→后端应用1→后端应用2→后端应用3→……→后端应用N-1,即前面的应用调用后面的应用。设后端应用i和后端应用i+3为待开发的后端应用,将后端应用i、后端应用i+1、后端应用i+2以及后端应用i+3部署在项目环境B中,即将后端应用i和后端应用i+3之间的后端应用i+1和后端应用i+2部署在项目环境B中。
在其中的一些实施例中,在将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中之前,该方法包括:根据项目环境的信息,确定项目环境所涉及的应用链路。
下面通过对本申请实施例进行具体描述和说明。
图3是本申请实施例的一种应用调用系统的结构示意图,如图3所述,该系统包括公共环境、多个项目环境和注册中心,每个项目环境之间是独立的,通用场景为前端应用访问后端应用。多个项目环境包括项目环境1、项目环境2等,项目环境1中部署了后端应用1,项目环境2中部署了后端应用1、后端应用2和后端应用3。所有的后端应用都注册在注册中心里,注册中心的心跳机制会更新应用的地址的列表,注册中心告诉应用访问的地址(IP)是什么,在注册中心中设置regin(区域),每个regin即为一个项目环境,每个项目环境会分配一个相应的regin ID(区域标识),公共环境也有相应的链路ID,注册中心根据项目环境的应用资源的情况,会对项目环境相对应的regin进行封装,将应用进行聚合和去重,原则是优先项目环境,注册中心的项目环境和公共环境的应用地址列表进行筛选和聚合,优先指向项目环境地址,regin中包括所有应用对应的地址,如后端应用1在项目环境1中,则regin中后端应用1对应的地址为项目环境1中的应用的地址,前端应用、后端应用2、后端应用3、后端应用4和后端应用5对应公共环境,则regin中后端应用1、后端应用3、后端应用4对应公共环境的地址。前端如计算机、手机、小程序等。前端应用一般不涉及开发,但需要前端应用1的入口来验证后端逻辑是否准确。需要说明的是,这里的区域即为前述实施例中所述的应用地址数据,这里的区域标识即为项目环境的项目标识。
所有的应用调用均通过公共环境的网关(即微服务网关)来实现调用,网关是对现有的spring框架下的网关进行包装,包装的原理是:项目环境会有一个独立的域名,会将域名头向下传递,给到网关后,网关知道项目环境域名头的信息,网关会去注册中心中找下一应用的地址。
通过API网关来发现项目环境中的应用,当项目环境中有应用,则API网关会创建一条域名记录,该域名记录指向项目环境中的应用,该域名记录可以作为项目环境中的应用的地址。进一步地通过APISIX来发现项目环境中的应用,APISIX做域名转换用(应用和域名的绑定),相当于做了一个开关,在打开的过程中,检测项目环境中是否有应用,项目环境中有应用的则会在APISIX中创建一条域名记录,该域名记录指向项目环境中的应用。APISIX生成一个域名,并将该域名指定到哪个应用,将参数告知给APISIX,APISIX生成一条域名记录,该域名记录根据项目环境的ID生成。APISIX给项目环境一个前端应用的访问入口,生成一个项目环境下的前端应用的访问的域名,该域名指到的是公共环境的前端应用。
前端应用访问后端时,统一访问的都是网关的网关地址,前端访问后端时,配置的都是path,根据访问的域名当成host请求,拼成path去访问后端应用。
网关会去解析请求头地址,根据请求头地址来合理请求项目环境的资源。前端到后端的应用之间的调用,用网关,后端之间的应用调用根据注册中心的regin中的地址。项目环境中拉入相应的应用后,注册中心生成相应的应用列表,会生成项目环境相关的regin,每次请求都会带header头(标头)信息,标头信息会对应哪个项目环境的ID的具体哪个应用。
例如,前端应用,其有相对应的域名,该域名指向公共环境,前端应用需要调用后端应用,走到网关(负责前端应用访问后端时的转发),转发原理是,将注册中心的所有regin列表拉出来,前端应用会将header头带进去,前端应用带有项目环境域名信息,根据header头知道前端应用要访问后端应用1,去注册中心找regin,根据项目环境的ID找。
如需要开发后端应用2,公共环境中是套完整的环境(包括所有的应用,如前端应用、后端应用1、后端应用2、后端应用3以及后端应用4),链路为前端应用→后端应用1→后端应用2→后端应用3→后端应用4,启动了新的项目环境,需要将后端应用2拉入新的项目环境中,因为前端应用和后端应用1不需要添加,如果是后端应用要保证链路调用的完整性添加关联应用,每个新创建的项目环境会为涉及开发的应用分配一个访问域名,该域名(三级域名xxx.xx.xx)即为API网关(前端资源访问到后端资源),公共环境也设置了对应的网关(API网关),项目环境的域名进来后,会将标头(header)向下传递,请求头包含项目环境标识。根据域名指到公共环境的前端应用上,并利用网关进行分发,网关对接到注册中心在公开环境中,开发了一个网关作为分发,该分发只是前端访问后端的分发。前端会通过访问的域名去判断这个标识,二级域名就是region的唯一ID。
基于API网关应用和注册中心(eureka)来实现。访问链路为:前端应用→后端应用1→后端应用2→后端应用3→后端应用4。前提为:后端应用1、后端应用2和后端应用3在项目环境中,为了链路访问完整,后端应用2需要拉到项目环境中,后端应用1和后端应用3需开发,后端应用2不需要开发,用于开发后的应用的功能验证。基于上述设定,图4是本申请实施例的另一种应用调用方法的流程图,如图4所示,该流程包括如下步骤:
步骤S410,创建环境。
具体地,创建项目环境。
步骤S420,APISIX生成前端应用的域名映射,创建带有项目标识的前端应用的域名。
步骤S430,用户访问前端应用的域名,访问前端应用。
具体地,用户打开域名,通过浏览器访问到前端应用。前端应用的代码中,提前写好了链路关系,后续请求后端应用1。
步骤S440,请求网关到后端应用1。
具体地,前端应用向公共环境的zuul网关发起请求,zuul网关会根据前端应用中请求头header中带有的项目环境标识来筛选对应调用的下游应用。后端应用1在项目环境中,则请求到项目环境中的后端应用1。
步骤S450,网关根据前端应用的域名和注册中心信息,转发到后端应用1的目标地址。
步骤S460,确定下一应用为后端应用2,根据所有应用在注册中心的地址列表,访问在项目环境中的后端应用2。
具体地,确定后端应用2下一应用为后端应用3,根据所有应用在注册中心的地址列表,访问在项目环境中的后端应用3。项目环境中的每个应用,会拉取全量的应用列表。
程序部署时,将变量作为环境变量注进应用中,应用根据环境变量上报给注册中心(环境变量即项目环境的标识,应用会将项目标识注册到Eureka注册中心,Eureka通过项目识别进行标识清洗,最后将清洗后的应用列表返回给每个应用),做regin中的应用列表的应用的地址的筛选。注册中心根据标识返回给应用相应的应用列表。
在本实施例中,仅将应用链路中待开发的应用部署在项目环境中,通过网关和注册中心来实现应用链路中所有应用的调用,解决了现有技术中每个项目环境均需要部署整个应用链路的所有应用,从而导致系统资源浪费的问题。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本申请中还提供了一种应用调用装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是本申请实施例的一种应用调用装置的结构框图,如图5所示,该装置包括:
部署模块510,用于将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中;
创建模块520,用于在注册中心中创建项目环境的应用地址数据;应用地址数据包括项目环境的项目标识和项目环境所涉及的应用链路中的应用的地址;
调用模块530,用于根据公共环境中的网关和应用地址数据,按照应用链路中的应用的顺序进行应用调用。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在本申请中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中;
S2,在注册中心中创建项目环境的应用地址数据;应用地址数据包括项目环境的项目标识和项目环境所涉及的应用链路中的应用的地址;
S3,根据公共环境中的网关和应用地址数据,按照应用链路中的应用的顺序进行应用调用。
需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
此外,结合上述实施例中提供的一种应用调用方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种应用调用方法的步骤。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用调用方法,其特征在于,所述方法包括:
将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中;
在注册中心中创建所述项目环境的应用地址数据;所述应用地址数据包括所述项目环境的项目标识和所述项目环境所涉及的应用链路中的应用的地址;
根据公共环境中的网关和所述应用地址数据,按照应用链路中的应用的顺序进行应用调用。
2.根据权利要求1所述的应用调用方法,其特征在于,所述根据公共环境中的网关和所述应用地址数据,按照应用链路中的应用的顺序进行应用调用,包括:
创建前端应用的域名;所述前端应用的域名携带所述项目环境的项目标识,所述前端应用部署在公共环境中;
根据前端应用的域名、公共环境中的网关和所述应用地址数据,按照应用链路中的应用的顺序进行应用调用;所述前端应用部署在公共环境中。
3.根据权利要求2所述的应用调用方法,其特征在于,所述根据前端应用的域名、公共环境中的网关和所述应用地址数据,按照应用链路中的应用的顺序进行应用调用,包括:
根据所述前端应用的域名,访问所述前端应用;
根据所述前端应用的执行结果和所述公共环境中的网关的执行结果,确定目标后端应用地址;所述目标后端应用地址为所述公共环境中的网关根据所述前端应用发送的请求消息和所述注册中心中的应用地址数据确定的目标后端应用的地址,所述目标后端应用为根据所述前端应用和所述应用链路确定的所述前端应用的下一应用;所述请求消息中包括所述项目环境的项目标识;
根据所述目标后端应用地址,进行所述目标后端应用的调用。
4.根据权利要求3所述的应用调用方法,其特征在于,在根据所述目标后端应用地址,进行所述目标后端应用的调用之后,所述方法还包括:
根据所述目标后端应用的执行结果和所述注册中心中的应用地址数据,对所述应用链路中的其他后端应用进行调用。
5.根据权利要求1所述的应用调用方法,其特征在于,所述项目环境所涉及的应用链路中的应用的地址包括项目环境中的应用的地址和公共环境中的应用的地址。
6.根据权利要求1所述的应用调用方法,其特征在于,所述将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中,包括:
将所述应用链路中待开发的后端应用,以及在所述应用链路中所述待开发的后端应用之间的应用,部署在所述项目环境中。
7.根据权利要求1所述的应用调用方法,其特征在于,在将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中之前,所述方法包括:
根据所述项目环境的信息,确定所述项目环境所涉及的应用链路。
8.一种应用调用装置,其特征在于,所述装置包括:
部署模块,用于将项目环境所涉及的应用链路中待开发的后端应用部署在项目环境中;
创建模块,用于在注册中心中创建所述项目环境的应用地址数据;所述应用地址数据包括所述项目环境的项目标识和所述项目环境所涉及的应用链路中的应用的地址;
调用模块,用于根据公共环境中的网关和所述应用地址数据,按照应用链路中的应用的顺序进行应用调用。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7中任一项所述的应用调用方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的应用调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311058630.XA CN117336348A (zh) | 2023-08-21 | 2023-08-21 | 一种应用调用方法、装置、电子装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311058630.XA CN117336348A (zh) | 2023-08-21 | 2023-08-21 | 一种应用调用方法、装置、电子装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117336348A true CN117336348A (zh) | 2024-01-02 |
Family
ID=89281852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311058630.XA Pending CN117336348A (zh) | 2023-08-21 | 2023-08-21 | 一种应用调用方法、装置、电子装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117336348A (zh) |
-
2023
- 2023-08-21 CN CN202311058630.XA patent/CN117336348A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11258667B2 (en) | Network management method and related device | |
CN110447208B (zh) | 一种网络切片的管理方法、单元和系统 | |
US20200366642A1 (en) | Address Management Method and System, and Device | |
CN103346974B (zh) | 一种业务流程的控制方法及网络设备 | |
US20170331862A1 (en) | Method for accessing cloud service and access device | |
CN107222324B (zh) | 网络服务的业务配置方法和装置 | |
CN117793952A (zh) | 一种通信方法及装置 | |
CN112740642B (zh) | 通信方法及多接入边缘计算服务器 | |
CN109408132A (zh) | 一种配置文件处理方法及服务器、用户终端、存储介质 | |
CN110383896A (zh) | 网络接入方法、终端、接入网及核心网 | |
CN107295049B (zh) | 实现网络功能通信的架构、方法及装置 | |
CN110830282A (zh) | 一种用户面功能配置的方法、装置及设备 | |
KR20090047518A (ko) | 단순화된 소켓 인터페이스를 통해 브로드캐스트/멀티캐스트ip 패킷들을 지원하기 위한 장치 및 방법 | |
EP3439238A1 (en) | Architecture, method and apparatus for realizing network function communication | |
CN117336348A (zh) | 一种应用调用方法、装置、电子装置和存储介质 | |
CN115767531A (zh) | 蓝牙认证方法、装置、电子装置和存储介质 | |
CN112600765B (zh) | 一种配置资源调度方法及装置 | |
CN115102804A (zh) | 车载网关的数据路由方法、装置、车载网关及存储介质 | |
CN113489848B (zh) | 一种终端设备测试方法、装置、电子设备及存储介质 | |
CN112148501A (zh) | 多个子应用的通信方法、装置、电子装置和存储介质 | |
CN113055211B (zh) | 网络服务实例化的方法及网络功能虚拟化编排器 | |
CN116389188B (zh) | 一种数据传输方法和相关装置 | |
CN115361277B (zh) | 通用集群系统部署方法、装置、设备及介质 | |
CN112738829B (zh) | 应答报文的处理方法及装置、存储介质及电子装置 | |
CN112165465B (zh) | 外发第三方平台的数据处理方法、装置和电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |