微服务打包合并方法技术

技术编号:39498518 阅读:9 留言:0更新日期:2023-11-24 11:28
本申请实施例提供一种微服务打包合并方法

【技术实现步骤摘要】
微服务打包合并方法、装置和电子设备


[0001]本申请涉及微服务
,尤其涉及一种微服务打包合并方法

装置和电子设备


技术介绍

[0002]所谓微服务,就是以较小的功能集作为独立的服务进行部署

通常情况下,一个企业中会有几百甚至上千个微服务在提供服务,每一个微服务都需要占用一个服务部署资源

[0003]不同任务所需的服务不同

在某一任务的实现需要调用多个服务的情况下,若要实现该任务,则需要将该多个服务作为一个整体,重新部署其对应的微服务,这样会进一步增大服务部署资源的占用

为了降低服务部署资源的占用,可以考虑对任务所需的多个微服务执行打包合并操作,并通过运行合并服务实现相应的任务

[0004]现有技术中,对多个微服务执行打包合并操作时,通常是用户手动修改启动模板中的配置文件和
jar
包依赖文件,从而导致打包合并操作效率较低


技术实现思路

[0005]本申请实施例提供一种微服务打包合并方法

装置和电子设备,可以根据用户需求,动态地对多个微服务执行打包合并操作,从而有效地提高了打包合并操作效率

[0006]本申请还提出一种微服务打包合并装置

[0007]本申请还提出一种电子设备

[0008]本申请还提出一种非暂态计算机可读存储介质

[0009]根据本申请第一方面实施例的微服务打包合并方法,该方法包括:响应于用户输入的打包合并指令,确定文件配置方式,所述文件配置方式用于指示待打包合并的多个微服务;基于所述文件配置方式,在原始配置文件中更新所述多个微服务各自的应用名称,得到更新后的配置文件;以及基于所述文件配置方式,在原始
jar
包依赖文件中剔除所述多个微服务各自的启动类,得到更新后的
jar
包依赖文件;在创建的空启动模板中写入所述更新后的配置文件和所述更新后的
jar
包依赖文件,得到目标启动模板;基于所述目标启动模板,对所述多个微服务进行打包合并,得到合并服务

[0010]根据本申请实施例提供的微服务打包合并方法,不仅可以基于用户需求动态地选择微服务执行打包合并操作,提高了打包合并操作的灵活性,而且基于文件配置方式自动更新多个微服务各自的应用名称和剔除多个微服务各自的启动类,从而有效地提高了打包合并操作效率

[0011]根据本申请的一个实施例,所述基于所述文件配置方式,在原始配置文件中更新所述多个微服务各自的应用名称,包括:通过
maven
命令调用打包插件读取所述文件配置方
式;基于所述文件配置方式,在所述原始配置文件中更新所述多个微服务各自的应用名称;所述基于所述文件配置方式,在原始
jar
包依赖文件中剔除所述多个微服务各自的启动类,包括:通过所述
maven
命令调用所述打包插件读取所述文件配置方式;基于所述文件配置方式,在所述原始
jar
包依赖文件中剔除所述多个微服务各自的启动类

[0012]根据本申请的一个实施例,所述基于所述文件配置方式,在原始配置文件中更新所述多个微服务各自的应用名称,包括:获取预设的微服务的应用名称的撰写格式,所述撰写格式下的应用名称可更新;基于所述文件配置方式,按照所述应用名称的撰写格式在所述原始配置文件中更新所述多个微服务各自的应用名称

[0013]根据本申请的一个实施例,在所述合并服务启动过程中,若输出启动异常提示信息,则修改所述多个微服务的类名称;其中,所述多个微服务修改后的类名称满足如下条件:实现不同功能的不同微服务修改后的类名称不同;实现相同功能的不同微服务修改后的类名称相同,且所述不同微服务注解的所述微服务的类优先级不同

[0014]根据本申请的一个实施例,所述在所述合并服务运行过程中,若输出调用异常提示信息,则按照所述应用名称的撰写格式在所述原始配置文件中为所述多个微服务配置各自的预留位,所述预留位用于写入基于所述文件配置方式确定的应用名称,以及基于后续打包合并指令确定的文件配置方式确定的应用名称

[0015]根据本申请的一个实施例,基于所述目标启动模板,对所述多个微服务进行打包合并,包括:确定所述多个微服务是否对应同一个数据库,且所述多个微服务各自对应的技术架构是否相同;在对应同一个数据库,且技术架构相同的情况下,基于所述目标启动模板,对所述多个微服务进行打包合并

[0016]根据本申请第二方面实施例的微服务打包合并装置,该装置包括:第一确定单元,用于响应于用户输入的打包合并指令,确定文件配置方式,所述文件配置方式用于指示待打包合并的多个微服务;处理单元,用于基于所述文件配置方式,在原始配置文件中更新所述多个微服务各自的应用名称,得到更新后的配置文件;以及基于所述文件配置方式,在原始
jar
包依赖文件中剔除所述多个微服务各自的启动类,得到更新后的
jar
包依赖文件;写入单元,用于在创建的空启动模板中写入所述更新后的配置文件和所述更新后的
jar
包依赖文件,得到目标启动模板;打包合并单元,用于基于所述目标启动模板,对所述多个微服务进行打包合并,得到合并服务

[0017]根据本申请实施例提供的微服务打包合并装置,不仅可以基于用户需求动态地选择微服务执行打包合并操作,提高了打包合并操作的灵活性,而且基于文件配置方式自动更新多个微服务各自的应用名称和剔除多个微服务各自的启动类,从而有效地提高了打包
合并操作效率

[0018]本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:在执行微服务的打包合并操作时,是响应于用户输入的打包合并指令,确定文件配置方式;基于文件配置方式,在原始配置文件中更新多个微服务各自的应用名称,以及基于文件配置方式,在原始
jar
包依赖文件中剔除多个微服务各自的启动类;在创建的空启动模板中写入更新后的配置文件和更新后的
jar
包依赖文件,得到目标启动模板;基于目标启动模板,对多个微服务进行打包合并,得到合并服务

这样不仅可以基于用户需求动态地选择微服务执行打包合并操作,提高了打包合并操作的灵活性,而且基于文件配置方式自动更新多个微服务各自的应用名称和剔除多个微服务各自的启动类,从而有效地提高了打包合并操作效率

[0019]进一步地,在本申请实施例中,增加打包插件,并基于文件配置方式更新多个微服务各自的应用名称的目的在于:能够灵活的进行微服务的打包合并,以及合并服务的拆解

[0020]进一步地,在本申请实施例中,基于文件配置方式,按照应用名称的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种微服务打包合并方法,其特征在于,包括:响应于用户输入的打包合并指令,确定文件配置方式,所述文件配置方式用于指示待打包合并的多个微服务;基于所述文件配置方式,在原始配置文件中更新所述多个微服务各自的应用名称,得到更新后的配置文件;以及基于所述文件配置方式,在原始
jar
包依赖文件中剔除所述多个微服务各自的启动类,得到更新后的
jar
包依赖文件;在创建的空启动模板中写入所述更新后的配置文件和所述更新后的
jar
包依赖文件,得到目标启动模板;基于所述目标启动模板,对所述多个微服务进行打包合并,得到合并服务
。2.
根据权利要求1所述的微服务打包合并方法,其特征在于,所述基于所述文件配置方式,在原始配置文件中更新所述多个微服务各自的应用名称,包括:通过
maven
命令调用打包插件读取所述文件配置方式;基于所述文件配置方式,在所述原始配置文件中更新所述多个微服务各自的应用名称;所述基于所述文件配置方式,在原始
jar
包依赖文件中剔除所述多个微服务各自的启动类,包括:通过所述
maven
命令调用所述打包插件读取所述文件配置方式;基于所述文件配置方式,在所述原始
jar
包依赖文件中剔除所述多个微服务各自的启动类
。3.
根据权利要求1或2所述的微服务打包合并方法,其特征在于,所述基于所述文件配置方式,在原始配置文件中更新所述多个微服务各自的应用名称,包括:获取预设的微服务的应用名称的撰写格式,所述撰写格式下的应用名称可更新;基于所述文件配置方式,按照所述应用名称的撰写格式在所述原始配置文件中更新所述多个微服务各自的应用名称
。4.
根据权利要求1或2所述的微服务打包合并方法,其特征在于,所述方法还包括:在所述合并服务启动过程中,若输出启动异常提示信息,则修改所述多个微服务的类名称;其中,所述多个微服务修改后的类名称满足如下条件:实现不同功能的不同微服务修改后的类名称不同;实现相同功能的不同微服务修改后的类名称相同,且所述不同微服务注解的所述微服务的类优先级不同
。5.
根据权利要求3所述的微服务打包合并方法,其特征在于,所述方法还...

【专利技术属性】
技术研发人员:程海黔杨城欢
申请(专利权)人:美云智数科技有限公司
类型:发明
国别省市:

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

1