【技术实现步骤摘要】
应用运行方法、装置及存储介质
本申请涉及软件开发
,特别涉及一种应用运行方法、装置及存储介质。
技术介绍
目前,应用一般包括单体应用和微服务应用。其中,单体应用是指传统的、将多种业务功能模块集成在单个应用程序的应用。另外,在单体应用的基础上又发展起来一种微服务架构,微服务架构的设计原则是将复杂的单体应用按照业务功能、流程、组织架构等维度拆分为职责单一、独立运行的多个微服务应用(又称服务),且这多个微服务应用之间可以通过网络调用进行协调交互。但是,由于不同微服务应用需要运行在不同的服务器上,因此微服务架构将会消耗较多的服务器资源。相关技术中,为了节省服务器资源,在微服务应用拆分粒度过细、无效微服务应用无法及时下线、或者因组织架构变更导致存在过多功能类似的微服务应用的情况下,可以对特定的多个微服务应用进行重新开发,以将这多个微服务应用通过重新开发合并成单体应用。但是,对微服务应用进行重新开发的过程较为复杂,且需要投入大量研发成本,成本较高。
技术实现思路
本申请实施例提供了一种应用运行方 ...
【技术保护点】
1.一种应用运行方法,其特征在于,所述方法包括:/n在主应用启动之后,通过运行所述主应用调用合并运行功能,所述合并运行功能集成在所述主应用中,所述主应用为任一单体应用或微服务应用;/n通过所述合并运行功能,获取子应用配置信息,所述子应用配置信息包括需要启动的至少一个子应用的应用标识以及所述至少一个子应用的启动策略,所述至少一个子应用为所述主应用之外的其他单体应用或微服务应用;/n通过所述合并运行功能,按照所述启动策略,启动所述至少一个子应用,且各个子应用在启动后运行在各个子应用对应的运行沙箱中。/n
【技术特征摘要】
1.一种应用运行方法,其特征在于,所述方法包括:
在主应用启动之后,通过运行所述主应用调用合并运行功能,所述合并运行功能集成在所述主应用中,所述主应用为任一单体应用或微服务应用;
通过所述合并运行功能,获取子应用配置信息,所述子应用配置信息包括需要启动的至少一个子应用的应用标识以及所述至少一个子应用的启动策略,所述至少一个子应用为所述主应用之外的其他单体应用或微服务应用;
通过所述合并运行功能,按照所述启动策略,启动所述至少一个子应用,且各个子应用在启动后运行在各个子应用对应的运行沙箱中。
2.如权利要求1所述的方法,其特征在于,所述按照所述启动策略,启动所述至少一个子应用,包括:
若按照所述启动策略,确定当前需要启动所述至少一个子应用中的第一子应用,则为所述第一子应用创建对应的第一运行沙箱,所述第一子应用为所述至少一个子应用中的任一个;
在所述第一运行沙箱中启动所述第一子应用,以使所述第一子应用运行在所述第一运行沙箱中。
3.如权利要求2所述的方法,其特征在于,所述在所述第一运行沙箱中启动所述第一子应用,包括:
解析所述第一子应用的描述文件,所述描述文件集成在所述第一子应用中,所述描述文件包括所述第一子应用的启动入口类的路径,所述启动入口类包括应用启动方法,所述应用启动方法用于启动所述第一子应用;
基于所述入口启动类的路径,调用所述启动入口类的应用启动方法;
在所述第一运行沙箱中,通过所述应用启动方法,启动所述第一子应用。
4.如权利要求1所述的方法,其特征在于,所述各个子应用对应的运行沙箱用于为所述各个子应用的运行提供类加载器和实例管理容器。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
对于所述至少一个子应用中的第一子应用,在所述第一子应用启动之后,创建所述第一子应用的启动事件,所述启动事件用于指示所述第一子应用启动成功,所述第一子应用为所述至少一个子应用中的任一个;
将所述启动事件上报给事件监听者,所述事件监听者为所述主应用或第三方组件。
6.如权利要求5所述的方法,其特征在于,所述启动事件包括所述第一子应用的应用标识、启动成功状态和启动时间中的至少...
【专利技术属性】
技术研发人员:杨海智,王锐,沈鹏飞,张隐松,
申请(专利权)人:北京三快在线科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。