CN117056040A - 微服务应用的调整方法、装置、电子设备和存储介质 - Google Patents
微服务应用的调整方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117056040A CN117056040A CN202310877331.2A CN202310877331A CN117056040A CN 117056040 A CN117056040 A CN 117056040A CN 202310877331 A CN202310877331 A CN 202310877331A CN 117056040 A CN117056040 A CN 117056040A
- Authority
- CN
- China
- Prior art keywords
- service
- service package
- micro
- adjusted
- configuration file
- 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 53
- 238000012217 deletion Methods 0.000 claims description 9
- 230000037430 deletion Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 31
- 230000003287 optical effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请提出一种微服务应用的调整方法、装置、电子设备和存储介质,其中,方法包括:首先接收针对微服务应用的服务程序包集合的调整请求,并根据该调整请求对服务程序包集合进行调整,以得到调整后的服务程序包集合,然后根据调整后的服务程序包集合中各个服务程序包对应的配置信息,对微服务应用的配置文件进行更新,以得到更新后的配置文件,从而可根据调整后的服务程序包集合和更新后的配置文件来改变微服务应用的微服务,实现微服务应用中微服务的灵活组合拆分。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种微服务应用的调整方法、装置、电子设备和存储介质。
背景技术
微服务架构是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。微服务架构是一项在云中部署应用和服务的新技术,它将一个复杂的大型应用程序划分成多个微服务,这些小型服务都在各自独立的进程中运行,服务之间相互协调、互相配合,从而具有开发简单、易于局部修改、容错性高等优点。
目前,在微服务架构中,通常采用重构软件工程代码的方式来重新对微服务进行拆分或组合,这种对微服务的调整方式并不灵活,需要投入比较多的开发工作量和实施周期成本。因此,如何解决微服务架构灵活拆分组合的问题是目前亟需解决的技术问题。
发明内容
为此,本申请的一个目的在于提出一种微服务应用的调整方法、装置、电子设备和存储介质。
根据本申请的第一方面实施例提出了一种微服务应用的调整方法,包括:接收用于调整微服务应用的服务程序包集合的调整请求,其中,所述调整请求用于指示按照调整类型,利用目标服务程序包对所述服务程序包集合进行调整;按照所述调整类型,利用所述目标服务程序包对所述服务程序包集合进行调整,以得到调整后的服务程序包集合;根据所述调整后的服务程序包集合中各个服务程序包对应的配置信息,对所述微服务应用的配置文件进行更新,以得到更新后的配置文件;根据所述调整后的服务程序包集合和所述更新后的配置文件,生成调整后的微服务应用。
可选地,作为第一个方面的第一种可能实现方式,所述按照所述调整类型,利用所述目标服务程序包对所述服务程序包集合进行调整,以得到调整后的服务程序包集合,包括:
在所述调整类型为删除类型的情况下,从所述服务程序包集合中删除所述目标服务程序包,以得到所述调整后的服务程序包集合。
可选地,作为第一方面的第二种可能实现方式,所述按照所述调整类型,利用所述目标服务程序包对所述服务程序包集合进行调整,以得到调整后的服务程序包集合,包括:
在所述调整类型为增加类型的情况下,在所述服务程序包集合中增加所述目标服务程序包,以得到所述调整后的服务程序包集合。
可选地,作为第一方面的第三种可能实现方式,所述按照所述调整类型,利用所述目标服务程序包对所述服务程序包集合进行调整,以得到调整后的服务程序包集合,包括:
在所述调整类型为替换类型的情况下,将所述服务程序包集合中的指定服务程序包替换为所述目标服务程序包,以得到所述调整后的服务程序包集合。
可选地,作为第一方面的第四种可能实现方式,所述目标服务程序包的配置信息包括所述目标服务程序包对应的服务调用配置信息。
可选地,作为第一方面的第五种可能实现方式,所述服务调用配置信息包括:服务发布信息,以及服务实例对象信息。
可选地,作为第一方面的第六种可能实现方式,所述服务发布配置信息,以及服务实例对象信息,包括:从所述配置文件中获取服务发布的配置;根据所述服务发布的配置,确定所述服务发布配置信息以及所述服务关联实例对象信息,其中,所述服务发布配置信息包括服务名,服务访问URL根地址,所述服务关联实例对象信息包括标识名、类名、服务函数。
可选地,作为第一方面的第七种可能实现方式,所述在根据所述服务发布的配置,确定所述服务发布配置信息以及所述服务关联实例对象信息之后,包括:基于所述服务发布配置信息以及所述服务关联实例对象信息,生成并发布可供外部访问的服务接口。
根据本申请实施例的微服务应用的调整方法,首先接收针对微服务应用的服务程序包集合的调整请求,并根据该调整请求对服务程序包集合进行调整,以得到调整后的服务程序包集合,然后根据调整后的服务程序包集合中各个服务程序包对应的配置信息,对微服务应用的配置文件进行更新,以得到更新后的配置文件,从而可根据调整后的服务程序包集合和更新后的配置文件来改变微服务应用的微服务,实现微服务应用中微服务的灵活组合拆分。
根据本申请的第二方面实施例提出了一种微服务应用的调整装置,所述装置包括:接收模块,用于接收用于调整微服务应用的服务程序包集合的调整请求,其中,所述调整请求用于指示按照调整类型,利用目标服务程序包对所述服务程序包集合进行调整;调整模块,用于按照所述调整类型,利用所述目标服务程序包对所述服务程序包集合进行调整,以得到调整后的服务程序包集合;更新模块,用于根据所述调整后的服务程序包集合中各个服务程序包对应的配置信息,对所述微服务应用的配置文件进行更新,以得到更新后的配置文件;生成模块,用于根据所述调整后的服务程序包集合和所述更新后的配置文件,生成调整后的微服务应用。
本申请实施例提供的微服务应用的调整方法以及装置,首先接收针对微服务应用的服务程序包集合的调整请求,并根据该调整请求对服务程序包集合进行调整,以得到调整后的服务程序包集合,然后根据调整后的服务程序包集合中各个服务程序包对应的配置信息,对微服务应用的配置文件进行更新,以得到更新后的配置文件,从而可根据调整后的服务程序包集合和更新后的配置文件来改变微服务应用的微服务,实现微服务应用中微服务的灵活组合拆分。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种微服务应用的调整方法的流程示意图;
图2为本申请实施例所提供的另一种微服务应用的调整方法的流程示意图;
图3为本申请实施例所提供的另一种微服务应用的调整方法的流程示意图;
图4为本申请实施例所提供的另一种微服务应用的调整方法的流程示意图;
图5为本申请实施例所提供的一种微服务应用的调整装置的结构示意图。
图6为本申请实施例所提供的一种电子设备的一个实施例的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的一种微服务应用的调整方法、装置、电子设备和存储介质。
图1为本申请实施例所提供的一种微服务应用的调整方法的流程示意图。
如图1所示,方法包括以下步骤:
步骤101,接收用于调整微服务应用的服务程序包集合的调整请求,其中,调整请求用于指示按照调整类型,利用目标服务程序包对服务程序包集合进行调整。
其中,调整类型用于表征利用目标服务程序包对所述程序包集合进行调整的方式,例如,增加,删除、替换等方式。
其中,需要说明的是,本实施例中的微服务应用的调整方法由微服务应用的调整装置执行,该微服务应用的调整装置可以由软件和/硬件实现,其中,微服务应用的调整装置可以为电子设备,也可以被配置在电子设备中。
其中,电子设备,可以为任一具有计算能力的设备,例如可以为个人电脑、移动终端、服务器等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。其中,微服务应用的调整装置用于对微服务应用的多个微服务进行组合拆分调整。
其中,需要说明的是,本申请实施例中服务程序包集合中包括微服务应用中各个微服务所对应的服务程序包。
其中,可以理解的是,本示例中不同的服务程序包用于实现不同的微服务。
其中,上述目标服务程序包可以是在对应的开发人员有对微服务应用中的微服务进行调整的需求下,从预设的服务程序包库选择出的目标服务程序包。
步骤102,按照调整类型,利用目标服务程序包对服务程序包集合进行调整,以得到调整后的服务程序包集合。
在本申请实施例中,在接收到针对该微服务应用的服务程序包集合的调整请求后,可获取与该微服务应用对应的业务功能目录,其中,该业务功能目录下包含该微服务应用的服务程序包集合;按照调整类型,对该业务功能目录中的服务程序包集合进行调整,以得到调整后的服务程序包集合。
其中,调整类型可根据情况分为删除类型、增加类型和替换类型。
在本申请实施例中,在调整类型为删除类型的情况下,可将该微服务应用对应的业务功能目录的服务程序包集合中删除目标服务程序包,从而对业务功能目录中的服务程序包集合进行了调整。
在本申请实施例中,在调整类型为增加类型的情况下,可将该微服务应用对应的业务功能目录的服务程序包集合中增加目标服务程序包,从而对业务功能目录中的服务程序包集合进行了调整。
在本申请实施例中,在调整类型为替换类型的情况下,可将该微服务应用对应的业务功能目录的服务程序包集合中替换为目标服务程序包,以得到调整后的服务程序包集合。
步骤103,根据调整后的服务程序包集合中各个服务程序包对应的配置信息,对微服务应用的配置文件进行更新,以得到更新后的配置文件。
其中,可以理解的是,在不同应用场景中,根据调整后的服务程序包集合中各个服务程序包对应的配置信息,对微服务应用的配置文件进行更新,以得到更新后的配置文件的实现方式不同,示例性说明如下:
在本申请实施例中,可根据调整后的服务程序包集合中各个服务程序包对应的配置信息进行组合处理,以得到新的配置文件,并根据新的配置文件对该微服务应用的配置文件进行替换处理,以得到更新后的配置文件。
在本申请实施例中,在调整类型为增加类型时,在确定微服务应用的配置文件中不存在调整后的服务程序集合中第一服务程序包对应的配置信息的情况下,在配置文件中添加第一服务程序包对应的配置信息,以得到更新后的配置文件,其中,第一服务程序包为调整后的服务程序包集合中的任意一个服务程序包。
在本申请实施例中,在确定调整类型为替换类型时,在微服务应用的配置文件中不存在调整后的服务程序集合中第一服务程序包对应的配置信息的情况下,在配置文件中添加第一服务程序包对应的配置信息,并将配置文件中除了调整后的服务程序包集合中各个服务程序包对应的配置信息之外的其他服务程序包的配置信息删除,其中,第一服务程序包为调整后的服务程序包集合中的任意一个服务程序包。
在调整类型为替换类型时,根据调整后的服务程序包集合中各个服务程序包对应的配置信息,对微服务应用的配置文件进行更新,以得到更新后的配置文件的具体实现过程可以为:可判断微服务应用的配置文件中是否存在调整后的服务程序包集合中各个服务程序包对应的配置信息;在判断获知微服务应用的配置文件中不存在调整后的服务程序集合中第一服务程序包对应的配置信息的情况下,在配置文件中添加第一服务程序包对应的配置信息,其中,第一服务程序包为调整后的服务程序包集合中的任意一个服务程序包,进一步判断该配置文件中是否存在除了调整后的服务程序包集合中各个服务程序包对应的配置信息之外的其他服务程序包的配置信息;在判断获知配置文件中存在除了调整后的服务程序包集合中各个服务程序包对应的配置信息之外的其他服务程序包的配置信息的情况下,将配置文件中其他服务程序包的配置信息删除。
在本本申请实施例中,在调整类型为删除类型时,将配置文件中除了调整后的服务程序包集合中各个服务程序包对应的配置信息之外的其他服务程序包的配置信息删除,以得到更新后的配置文件。
其中,可以理解的是,本示例中更新后的配置文件中仅包括调整后的服务程序包集合中各个服务程序包的配置信息。
其中,本示例中服务程序包的配置信息中可以包括目标服务程序包对应的服务发布配置信息和服务调用配置信息。
其中,服务发布配置信息和服务调用配置信息中均包括:服务发布信息,以及服务实例对象信息。
其中,服务发布信息可以包括但不限于服务器名称、服务访问根URL地址等信息。
其中,服务实例对象信息可以包括但不限于服务实例对象对应的标识名、服务实例对象对应的类名、服务函数等信息。
步骤104,根据调整后的服务程序包集合和更新后的配置文件,生成调整后的微服务应用。
其中,可以理解的是,更新后的配置文件中可以包括调整后的服务程序包集合中各个服务程序包各自对应的配置信息。
在本申请实施例中,可从更新后的配置文件中获取调整后的服务程序包集合中各个服务程序包各自对应的配置文文件,并根据调整后的服务程序包集合中各个服务程序包以及对应的配置信息,生成调整后的微服务应用。
本申请实施例提供的微服务应用的调整方法,首先接收针对微服务应用的服务程序包集合的调整请求,并根据该调整请求对服务程序包集合进行调整,以得到调整后的服务程序包集合,然后根据调整后的服务程序包集合中各个服务程序包对应的配置信息,对微服务应用的配置文件进行更新,以得到更新后的配置文件,从而可根据调整后的服务程序包集合和更新后的配置文件来改变微服务应用的微服务,实现微服务应用中微服务的灵活组合拆分。
为了可以清楚理解本申请,下面结合图2对启动调整后的微服务应用的过程进行示例性描述。
图2是启动调整后的微服务应用的流程示意图。
如图2所示,可以包括:
步骤201,接收到针对调整后的微服务应用的启动指令,获取该调整后的微服务程序的调整后的服务程序包集合。
在一些示例性的实施方式中,本示例中的调整后的服务程序包集合通常保存在指定业务功能目录下,可从指定业务功能目录下获取调整后的服务程序包集合。
步骤202,对调整后的服务程序包集合中各个服务程序包进行循环加载,以将调整后的服务程序包集合中各个服务程序包加载到对应的运行内存环境中,并以在运行内存环境中形成各个服务程序所对应的服务实例对象,并建立各个服务程序包对应的服务实例对象和服务实施例对象信息两者之间的对应关系。
其中,服务实例对象是指用于实现对应服务程序包所对应微服务的实例对象。
其中,服务实例对象信息是指与服务实例对象有关的信息,例如,服务实例对象信息可以包括但不限于服务实例对象对应的标识名、服务实例对象对应的类名、服务函数等信息。
步骤203,针对调整后的服务程序包集合中的各个服务程序包,从该调整后的微服务应用的配置文件中获取该服务程序包对应的服务发布配置信息,并根据服务发布配置信息中的服务发布信息和服务实例对象信息,并生成并发布与该服务程序包所对应的可供外部访问的服务接口。
其中,本示例中的服务接口可用于根据服务实施例对象信息去调用实现该服务程序包所对应微服务的服务实例对象。
在本示例中,根据服务发布配置信息中的服务发布信息和服务实例对象信息生成与该服务程序包所对应的可供外部访问的服务接口的一种可能实现方式为:可根据服务发布配置信息中的服务发布信息和服务实例对象信息,建立服务发布信息和服务实例对象信息两者之间的映射关系,以生成服务接口。
步骤204,从配置文件中获取目标服务程序集合中各个服务程序包对应的服务调用配置信息,并根据目标服务程序集合中各个服务程序包对应的服务调用配置信息以及服务接口,初始化公共服务调用组件。
其中,初始化后的公共服务调用组件中建立了服务调用配置信息与服务接口之间的绑定关系。
其中,可以理解的是,本示例中初始化后的公共服务调用组件在接收到业务请求后,获取与该业务请求匹配的目标服务调用信息,并从上述绑定关系中获取与该目标服务调用信息绑定的目标服务接口,并将该业务请发送给该目标服务接口。对应地,该目标服务接口用于调用对应的服务实例对象,并通过服务实施例对象对该业务请求进行处理,并通过该服务接口返回处理结果。
在一些示例性的实施方式中,为了进一步提高微服务功能灵活组合拆分的灵活性,还可以结合调整类型、目标服务程序包和服务程序包集合,对微服务应用的配置文件进行更新,以得到更新后的配置文件,为了可以清楚该过程,下面结合图3对本实施例所提供的另一种微服务应用的调整方法进行示例性描述。
在一些示例性的实施方式中,为了可以清楚理解是如何对对微服务应用进行调整,从而实现微服务应用的微服务进行灵活组合拆分的,下面结合图3对对实施例的微服务应用的调整方法进行进一步示例性描述。
图3为本申请实施例所提供了另一种微服务应用的调整方法的流程示意图。
如图3所示,可以包括:
步骤301,获取微服务应用对应的指定业务功能目录下的服务程序包集合,其中,服务程序包集合包括服务程序包A和服务程序包C。
其中,可以理解的是,在微服务应用对应的指定业务功能目录下的服务程序包A和服务程序包C的情况下,该微服务应用具有两种微服务,分别为服务程序包A对应的微服务A和服务程序包C对应的微服务C。
步骤302,接收对该微服务应用的服务程序包集合的调整请求,其中,调整请求用于指示按照调整类型,利用服务程序包B对服务程序包集合进行调整,其中,调整类型为增加类型。
步骤303,根据调整类型,将服务程序包B添加到微服务应用的指定业务功能目录下的服务程序包集合中,以得到调整后的服务程序包集合。
在本示例中,根据调整类型,将服务程序包B添加到微服务应用的指定业务功能目录下的服务程序包集合中,可将该指定业务功能目标下的当前服务程序包集合称为调整后的服务程序包集合。其中,调整后的服务程序包集合中包括服务程序包B、服务程序包A和服务程序包C。
步骤304,在该微服务应用的配置文件中增加服务程序包B对应的配置信息,以得到更新后的配置文件。
在本示例中,微服务应用的配置文件中包括服务程序包A对应的配置、服务程序包C对应的配置信息。
其中,更新后的配置文件中包括服务程序包A对应的配置、服务程序包B对应的配置信息和服务程序包C对应的配置信息。
步骤305,根据调整后的服务程序包集合和更新后的配置文件,生成调整后的微服务应用。
其中,需要说明的是,关于步骤305的具体实现方式,可参见本申请实施例的相关描述,此处不再赘述。
其中,可以理解的是,调整后的微服务应用和原来的微服务应用相比,调整后的微服务应用不仅具有服务程序包A对应的微服务A和服务程序包C对应的微服务C,还具有服务程序包B对应的微服务B。也就是说,原来的微服务应用仅可以提供两种微服务,分别为微服务A和微服务C,而调整后的微服务应用可以提供三种微服务,分别为微服务A、微服务B和微服务C。
在本示例中,通过调整请求,在微服务应用中添加了对应微服务的服务程序包,从而可以方便地为微服务应用增加对应的微服务,提高了微服务应用的开发效率。
在一些示例性的实施方式中,为了可以清楚理解是如何对对微服务应用进行调整,从而实现微服务应用的微服务进行灵活组合拆分的,下面结合图4对对实施例的微服务应用的调整方法进行进一步示例性描述。
图4为本申请实施例所提供了另一种微服务应用的调整方法的流程示意图。
如图4所示,可以包括:
步骤401,获取微服务应用对应的指定业务功能目录下的服务程序包集合,其中,服务程序包集合包括服务程序包A和服务程序包C。
其中,可以理解的是,在微服务应用对应的指定业务功能目录下的服务程序包A和服务程序包C的情况下,该微服务应用具有两种微服务,分别为服务程序包A对应的微服务A和服务程序包C对应的微服务C。
步骤402,接收对该微服务应用的服务程序包集合的调整请求,其中,调整请求用于指示按照调整类型利用服务程序包A对服务程序包集合进行调整,其中,调整类型为删除类型。
步骤403,根据调整类型,将服务程序包A从微服务应用的指定业务功能目录下的服务程序包集合中删除,以得到调整后的服务程序包集合。
在本示例中,根据调整类型,可将服务程序包A从微服务应用的指定业务功能目录下的服务程序包集合中删除,对应地,可将该指定业务功能目录下的当前服务程序包集合称为调整后的服务程序包集合。其中,可以理解的是,该指定业务功能目录下当前的所有服务程序包可以形成调整后的服务程序包集合,其中,调整后的服务程序包集合中仅包括服务程序包A。
步骤404,在该微服务应用的配置文件中删除服务程序包A对应的配置信息,以得到更新后的配置文件。
其中,服务程序包A对应的配置信息包括服务程序包A对应的服务发布配置信息和服务调用配置信息。
步骤405,根据调整后的服务程序包集合和更新后的配置文件,生成调整后的微服务应用。
其中,可以理解的是,调整后的微服务应用和原来的微服务应用相比,调整后的微服务应用只具有服务程序包C对应的微服务C。也就是说,原来的微服务应用可以提供两种微服务,分别为微服务A和微服务C,而调整后的微服务应用可以提供一种微服务,微服务C,即调整后的微服务应用仅可以提供微服务C。
在本示例中,通过调整请求,在微服务应用中删除了对应微服务的服务程序包,从而可以方便地为微服务应用删除对应的微服务,提高了微服务应用的开发效率。
图5为本申请实施例所提供的一种微服务应用的调整装置的结构示意图。
如图5所示,该微服务应用的调整装置50包括:接收模块501、调整模块502、更新模块503、生成模块504。
接收模块501,用于接收用于调整微服务应用的服务程序包集合的调整请求,其中,所述调整请求用于指示按照调整类型,利用目标服务程序包对所述服务程序包集合进行调整;
调整模块502,用于按照所述调整类型,利用所述目标服务程序包对所述服务程序包集合进行调整,以得到调整后的服务程序包集合;
更新模块503,用于根据所述调整后的服务程序包集合中各个服务程序包对应的配置信息,对所述微服务应用的配置文件进行更新,以得到更新后的配置文件;
生成模块504,用于根据所述调整后的服务程序包集合和所述更新后的配置文件,生成调整后的微服务应用。
在本申请的一个实施例中,调整模块502,具体用于:
在调整类型为删除类型的情况下,从服务程序包集合中删除目标服务程序包,以得到调整后的服务程序包集合。
在本申请的一个实施例中,调整模块502,具体用于:
在调整类型为增加类型的情况下,在服务程序包集合中增加目标服务程序包,以得到调整后的服务程序包集合。
在本申请的一个实施例中,调整模块502,具体用于:
在调整类型为替换类型的情况下,将服务程序包集合中的指定服务程序包替换为目标服务程序包,以得到调整后的服务程序包集合。
在本申请的一个实施例中,在调整类型为增加类型的情况下,更新模块503,具体用于:在微服务应用的配置文件中不存在调整后的服务程序集合中第一服务程序包对应的配置信息的情况下,在配置文件中添加第一服务程序包对应的配置信息,以得到更新后的配置文件,其中,第一服务程序包为调整后的服务程序包集合中的任意一个服务程序包。
在本申请的一个实施例中,在调整类型为替换类型的情况下,更新模块503,具体用于:在微服务应用的配置文件中不存在调整后的服务程序集合中第一服务程序包对应的配置信息的情况下,在配置文件中添加第一服务程序包对应的配置信息,并将配置文件中除了调整后的服务程序包集合中各个服务程序包对应的配置信息之外的其他服务程序包的配置信息删除,其中,第一服务程序包为调整后的服务程序包集合中的任意一个服务程序包。
在本申请的一个实施例中,在调整类型为删除类型的情况下,更新模块503,具体用于:将配置文件中除了调整后的服务程序包集合中各个服务程序包对应的配置信息之外的其他服务程序包的配置信息删除,以得到更新后的配置文件。
其中,需要说明的是,前述对方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
本申请实施例提供的微服务应用的调整装置,首先接收针对微服务应用的服务程序包集合的调整请求,并根据该调整请求对服务程序包集合进行调整,以得到调整后的服务程序包集合,然后根据调整后的服务程序包集合中各个服务程序包对应的配置信息,对微服务应用的配置文件进行更新,以得到更新后的配置文件,从而可根据调整后的服务程序包集合和更新后的配置文件来改变微服务应用的微服务,实现微服务应用中微服务的灵活组合拆分。
根据本申请的实施例,本申请还提供了一种电子设备。
其中,电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为执行指令,以实现如前述任一实施例提出的微服务应用的调整方法。
作为一种示例,图6是本申请一示例性实施例所示出的电子设备600的结构示意图,如图6所示,上述电子设备600,还可以包括:
存储器610及处理器620,连接不同组件(包括存储器610和处理器620)的总线630,存储器610存储有计算机程序,当处理器620执行程序时实现本申请实施例的微服务应用的调整方法。
总线630表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备600典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备600访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器610还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)640和/或高速缓存存储器650。服务器600可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统660可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线630相连。存储器610可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块660的程序/实用工具680,可以存储在例如存储器610中,这样的程序模块660包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块660通常执行本申请所描述的实施例中的功能和/或方法。
电子设备600也可以与一个或多个外部设备690(例如键盘、指向设备、显示器691等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口692进行。并且,电子设备600还可以通过网络适配器693与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器693通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器620通过运行存储在存储器610中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本申请实施例的微服务应用的调整方法的解释说明,此处不再赘述。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备的处理器执行以完成上述任一实施例提出的微服务应用的调整方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,其特征在于,计算机程序/指令被处理器执行时实现上述任一实施例提出的微服务应用的调整方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种微服务应用的调整方法,其特征在于,所述方法包括:
接收用于调整微服务应用的服务程序包集合的调整请求,其中,所述调整请求用于指示按照调整类型,利用目标服务程序包对所述服务程序包集合进行调整;
按照所述调整类型,利用所述目标服务程序包对所述服务程序包集合进行调整,以得到调整后的服务程序包集合;
根据所述调整后的服务程序包集合中各个服务程序包对应的配置信息,对所述微服务应用的配置文件进行更新,以得到更新后的配置文件;
根据所述调整后的服务程序包集合和所述更新后的配置文件,生成调整后的微服务应用。
2.根据权利要求1所述的方法,其特征在于,所述按照所述调整类型,利用所述目标服务程序包对所述服务程序包集合进行调整,以得到调整后的服务程序包集合,包括:
在所述调整类型为删除类型的情况下,从所述服务程序包集合中删除所述目标服务程序包,以得到所述调整后的服务程序包集合。
3.根据权利要求1所述的方法,其特征在于,所述按照所述调整类型,利用所述目标服务程序包对所述服务程序包集合进行调整,以得到调整后的服务程序包集合,包括:
在所述调整类型为增加类型的情况下,在所述服务程序包集合中增加所述目标服务程序包,以得到所述调整后的服务程序包集合。
4.根据权利要求1所述的方法,其特征在于,所述按照所述调整类型,利用所述目标服务程序包对所述服务程序包集合进行调整,以得到调整后的服务程序包集合,包括:
在所述调整类型为替换类型的情况下,将所述服务程序包集合中的指定服务程序包替换为所述目标服务程序包,以得到所述调整后的服务程序包集合。
5.根据权利要求1所述的方法,其特征在于,在所述调整类型为增加类型的情况下,所述根据所述调整后的服务程序包集合中各个服务程序包对应的配置信息,对所述微服务应用的配置文件进行更新,以得到更新后的配置文件,包括:
在所述微服务应用的配置文件中不存在所述调整后的服务程序集合中第一服务程序包对应的配置信息的情况下,在所述配置文件中添加所述第一服务程序包对应的配置信息,以得到所述更新后的配置文件,其中,所述第一服务程序包为所述调整后的服务程序包集合中的任意一个服务程序包。
6.根据权利要求1所述的方法,其特征在于,在所述调整类型为替换类型的情况下,所述根据所述调整后的服务程序包集合中各个服务程序包对应的配置信息,对所述微服务应用的配置文件进行更新,以得到更新后的配置文件,包括:
在所述微服务应用的配置文件中不存在所述调整后的服务程序集合中第一服务程序包对应的配置信息的情况下,在所述配置文件中添加所述第一服务程序包对应的配置信息,并将所述配置文件中除了所述调整后的服务程序包集合中各个服务程序包对应的配置信息之外的其他服务程序包的配置信息删除,其中,所述第一服务程序包为所述调整后的服务程序包集合中的任意一个服务程序包。
7.根据权利要求1所述的方法,其特征在于,在所述调整类型为删除类型的情况下,所述根据所述调整后的服务程序包集合中各个服务程序包对应的配置信息,对所述微服务应用的配置文件进行更新,以得到更新后的配置文件,包括:
将所述配置文件中除了所述调整后的服务程序包集合中各个服务程序包对应的配置信息之外的其他服务程序包的配置信息删除,以得到所述更新后的配置文件。
8.根据权利要求2-7中任一项所述的方法,其特征在于,所述目标服务程序包的配置信息包括所述目标服务程序包对应的服务发布配置信息和服务调用配置信息。
9.根据权利要求8所述的方法,其特征在于,所述服务发布配置信息和所述服务调用配置信息中均包括:服务发布信息,以及服务实例对象信息。
10.一种微服务应用的调整装置,其特征在于,所述装置包括:
接收模块,用于接收用于调整微服务应用的服务程序包集合的调整请求,其中,所述调整请求用于指示按照调整类型,利用目标服务程序包对所述服务程序包集合进行调整;
调整模块,用于按照所述调整类型,利用所述目标服务程序包对所述服务程序包集合进行调整,以得到调整后的服务程序包集合;
更新模块,用于根据所述调整后的服务程序包集合中各个服务程序包对应的配置信息,对所述微服务应用的配置文件进行更新,以得到更新后的配置文件;
生成模块,用于根据所述调整后的服务程序包集合和所述更新后的配置文件,生成调整后的微服务应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310877331.2A CN117056040A (zh) | 2023-07-17 | 2023-07-17 | 微服务应用的调整方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310877331.2A CN117056040A (zh) | 2023-07-17 | 2023-07-17 | 微服务应用的调整方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117056040A true CN117056040A (zh) | 2023-11-14 |
Family
ID=88665291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310877331.2A Pending CN117056040A (zh) | 2023-07-17 | 2023-07-17 | 微服务应用的调整方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056040A (zh) |
-
2023
- 2023-07-17 CN CN202310877331.2A patent/CN117056040A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213611B (zh) | 跨进程通讯方法、装置、终端及存储介质 | |
US7934209B2 (en) | Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan | |
KR101619557B1 (ko) | 커스터마이즈된 컴퓨터 응용 프로그램 패키지 | |
US20060026602A1 (en) | Application with multiple embedded drivers | |
CN107291950B (zh) | 表单数据更新方法、装置及计算机设备 | |
US9098316B2 (en) | Routing function calls to specific-function dynamic link libraries in a general-function environment | |
CN110515647A (zh) | 一种静态资源管理方法、装置、设备和存储介质 | |
CN112965761B (zh) | 一种数据处理方法、系统、电子设备及存储介质 | |
CN105512294A (zh) | 一种多媒体文件的更新提示方法和装置 | |
CN103324517A (zh) | 离线应用的生成及调用方法、终端及系统 | |
US20110321030A1 (en) | Method and apparatus for updating a software image | |
CN112667228A (zh) | 应用程序的构建方法、装置及计算机设备 | |
CN112947986A (zh) | 多版本代码签入控制方法、装置、客户端及存储介质 | |
CN103514004A (zh) | Windows系统下的系统环境管理方法及装置 | |
CN109697034B (zh) | 一种数据写入方法、装置、电子设备及存储介质 | |
CN114461691A (zh) | 状态机的控制方法、装置、电子设备及存储介质 | |
CN112883006B (zh) | 一种企业级容器镜像加速方法、装置、电子设备和存储介质 | |
US20190196846A1 (en) | Information processing system, container management apparatus, and container management method | |
CN113656359A (zh) | 三维模型的轻量化方法、装置、计算机设备及存储介质 | |
CN111008934B (zh) | 一种场景构建方法、装置、设备及存储介质 | |
CN113760318A (zh) | 信息处理方法、装置、服务器及存储介质 | |
CN117056040A (zh) | 微服务应用的调整方法、装置、电子设备和存储介质 | |
CN106843895B (zh) | 用于处理请求的方法、系统和可读存储介质 | |
US6636964B1 (en) | Method and apparatus for loading an object-oriented operating system by providing an initial execution environment and migrating to a core execution environment thereafter | |
CN111142972B (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 |