System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种微服务部署方法、装置、设备及存储介质制造方法及图纸_技高网

一种微服务部署方法、装置、设备及存储介质制造方法及图纸

技术编号:40459103 阅读:4 留言:0更新日期:2024-02-22 23:14
本发明专利技术实施例提供了一种微服务部署方法、装置、设备以及存储介质,本发明专利技术实施例在微服务的部署过程中,用户可以在单体应用部署或者微服务部署中根据需要选择部署方式,后续本发明专利技术实施例即可根据用户所选择的部署方式部署相对应的微服务。本发明专利技术实施例能够根据不同目标客户的资金或运维资源投入情况,对微服务进行单体应用或微服务方式部署,在开发业务系统的过程中无需在不同的架构上进行开发,提高了业务系统的开发效率以及降低了维护工作量,解决了现有技术中的业务系统存在着开发效率低下以及维护工作量大的技术问题。

【技术实现步骤摘要】

本申请实施例涉及微服务领域,尤其涉及一种微服务部署方法、装置、设备及存储介质


技术介绍

1、目前的技术开发框架选型,只能在系统设计阶段选定单体应用架构或者微服务架构其中一种,再选择对应的技术开发框架进行开发和部署,无法实现只开发一套系统,就能根据不同目标客户的情况进行单体应用部署或微服务方式部署。在同一套业务系统提供给两种不同部署需求的客户情况下,需要在两种架构上分别进行开发,系统无法复用,在降低了开发效率的同时,资源也会重复浪费。另外在产品升级时,两种架构也要同步升级,维护工作量翻倍。

2、综上所述,现有技术中的业务系统存在着开发效率低下以及维护工作量大的技术问题。


技术实现思路

1、本专利技术实施例提供了一种微服务部署方法、装置、设备以及存储介质,能够在一个开发框架内实现单体应用部署或微服务方式部署,提高了业务系统的开发效率以及降低了业务系统的维护工作量,解决了现有技术中的业务系统存在着开发效率低下以及维护工作量大的技术问题。

2、第一方面,本专利技术实施例提供了一种微服务部署方法,包括:

3、在所有微服务中确定出主微服务,将其他微服务确定为副微服务,并将所述副微服务作为所述主微服务的依赖项;

4、确定所述微服务的部署方式;

5、在启动所述主微服务时,通过spring模块扫描所述主微服务的代码以及所述所有微服务的配置文件,所述配置文件中设置有每个所述微服务的自动配置类;

6、当所述部署方式为单体应用部署时,通过spring模块扫描每个所述副微服务的自动配置类所在路径的所有代码以获取每个所述副微服务的代码,根据每个所述副微服务的代码由spring模块加载与每个所述副微服务相对应的功能组件,以及根据所述主微服务的代码由spring模块加载与所述主微服务相对应的功能组件;

7、当所述部署方式为微服务部署时,根据所述主微服务的代码由spring模块加载与所述主微服务相对应的功能组件;

8、调用mybatis模块从已加载的功能组件中获取预设的调用接口实现类,由所述mybatis模块通过所述调用接口实现类获取与功能组件已加载的目标微服务相对应的初始化脚本并缓存,以当所述目标微服务被外部调用时,由所述spring模块执行相对应的功能组件,并由所述mybatis模块通过执行所述初始化脚本从数据库中获取或更新与所述目标微服务相对应的业务数据,所述数据库用于储存所述微服务的业务数据。

9、第二方面,本专利技术实施例提供了一种微服务部署装置,包括:

10、主微服务确定模块,用于在所有微服务中确定出主微服务,将其他微服务确定为副微服务,并将所述副微服务作为所述主微服务的依赖项;

11、部署方式设置模块,用于确定所述微服务的部署方式;

12、服务扫描模块,用于在启动所述主微服务时,通过spring模块扫描所述主微服务的代码以及所述所有微服务的配置文件,所述配置文件中设置有每个所述微服务的自动配置类;

13、应用部署模块,用于当所述部署方式为单体应用部署时,通过spring模块扫描每个所述副微服务的自动配置类所在路径的所有代码以获取每个所述副微服务的代码,根据每个所述副微服务的代码由spring模块加载与每个所述副微服务相对应的功能组件,以及根据所述主微服务的代码由spring模块加载与所述主微服务相对应的功能组件;

14、微服务部署模块,用于当所述部署方式为微服务部署时,根据所述主微服务的代码由spring模块加载与所述主微服务相对应的功能组件;

15、微服务执行模块,用于调用mybatis模块从已加载的功能组件中获取预设的调用接口实现类,由所述mybatis模块通过所述调用接口实现类获取与功能组件已加载的目标微服务相对应的初始化脚本并缓存,以当所述目标微服务被外部调用时,由所述spring模块执行相对应的功能组件,并由所述mybatis模块通过执行所述初始化脚本从数据库中获取或更新与所述目标微服务相对应的业务数据,所述数据库用于储存所述微服务的业务数据。

16、第三方面,本专利技术实施例提供了一种微服务部署设备,所述微服部署设备包括处理器以及存储器;

17、所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;

18、所述处理器用于根据所述计算机程序中的指令执行如第一方面所述的一种微服务部署方法。

19、第四方面,本专利技术实施例提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的一种微服务部署方法。

20、上述,本专利技术实施例提供了一种微服务部署方法、装置、设备以及存储介质,本专利技术实施例在微服务的部署过程中,用户可以在单体应用部署或者微服务部署中根据需要选择部署方式,后续本专利技术实施例即可根据用户所选择的部署方式部署相对应的微服务。本专利技术实施例能够根据不同目标客户的资金或运维资源投入情况,对微服务进行单体应用或微服务方式部署,在开发业务系统的过程中无需在不同的架构上进行开发,提高了业务系统的开发效率以及降低了维护工作量,解决了现有技术中的业务系统存在着开发效率低下以及维护工作量大的技术问题。

本文档来自技高网...

【技术保护点】

1.一种微服务部署方法,其特征在于,包括:

2.根据权利要求1所述的一种微服务部署方法,其特征在于,还包括:

3.根据权利要求1所述的一种微服务部署方法,其特征在于,所述调用MyBatis模块从已加载的功能组件中获取预设的调用接口实现类,由所述MyBatis模块通过所述调用接口实现类获取与功能组件已加载的目标微服务相对应的初始化脚本并缓存,包括:

4.根据权利要求1所述的一种微服务部署方法,其特征在于,每个所述微服务包括部署包,所述部署包包括扫描包以及业务包,所述方法还包括:

5.根据权利要求4所述的一种微服务部署方法,其特征在于,在预先编码所述微服务时,还包括:

6.根据权利要求4所述的一种微服务部署方法,其特征在于,所述通过Spring模块扫描所述主微服务的代码以及所述主微服务的配置文件,包括:

7.根据权利要求4所述的一种微服务部署方法,其特征在于,所述根据所述主微服务的代码由Spring模块加载与所述主微服务相对应的功能组件,包括:

8.一种微服务部署装置,其特征在于,包括:

9.一种微服务部署设备,其特征在于,所述微服务部署设备包括处理器以及存储器;

10.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一项所述的一种微服务部署方法。

...

【技术特征摘要】

1.一种微服务部署方法,其特征在于,包括:

2.根据权利要求1所述的一种微服务部署方法,其特征在于,还包括:

3.根据权利要求1所述的一种微服务部署方法,其特征在于,所述调用mybatis模块从已加载的功能组件中获取预设的调用接口实现类,由所述mybatis模块通过所述调用接口实现类获取与功能组件已加载的目标微服务相对应的初始化脚本并缓存,包括:

4.根据权利要求1所述的一种微服务部署方法,其特征在于,每个所述微服务包括部署包,所述部署包包括扫描包以及业务包,所述方法还包括:

5.根据权利要求4所述的一种微服务部署方法,其特征在于,在预先编码所述微服务时,还包括:<...

【专利技术属性】
技术研发人员:黎志荣陈奇毅刘弘胤郑伟钿
申请(专利权)人:佳都科技集团股份有限公司
类型:发明
国别省市:

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

1