一种前端微服务实现方法及相关组件技术

技术编号:27488211 阅读:14 留言:0更新日期:2021-03-02 18:05
本申请公开了一种前端微服务实现方法中提出了一种独立完整的前端微服务架构,无需借助或支持于前端服务架构,通过构建基座,通过基座对各子应用的加载以及运行进行统一的管理,可以保证前端微服务的高效管理;同时该方法中在对子应用进行生命周期管理时,将生命周期放在基座里,可以避免现有服务架构中容易出现的架构复杂性问题;而且对于子应用的不同管理需求调用相应的处理方式进行相应的业务处理,实现了将代码按照业务进行分割,可以降低代码耦合,便于开发和维护,并且可以进行独立升级,增强了产品的敏捷性,提高了开发效率。本申请还提供了一种前端微服务实现装置、设备及一种可读存储介质,具有上述有益效果。具有上述有益效果。具有上述有益效果。

【技术实现步骤摘要】
一种前端微服务实现方法及相关组件


[0001]本申请涉及计算机软件
,特别涉及一种前端微服务实现方法、装置、设备及一种可读存储介质。

技术介绍

[0002]伴随着越来越多公司的业务深入,产品或者项目的大小及复杂度也在不断地提升。为了适应整体业务需求,项目往往包含多个子项目系统,并在每个项目下面再根据具体业务划分不同的模块。而多个项目可能需要由多个不同的团队进行维护更新。这些项目可能都会有个性化的业务设计。那么怎么才能让由多个不同团队维护的项目合理的在一起展示出来就成了一个不得不面对的重要问题。
[0003]前端微服务由于其复杂度可控、模块部署灵活可以独立部署、技术选型灵活、容错性好以及可扩展性强等优势被应用于解决多项目维护的问题,包括Vue、React和Angular在内的框架作为前端主流框架更是被广泛应用。
[0004]当前已有的前端微服务方案比较常用的是Single-SPA(single page webapplication单页富应用程序,一种框架名称),其可以支持大部分主流的前端框架,也可以支持传统的前端框架,使用时不需要页面跳转,直接在当前页面载入,方便与迁移旧的遗留系统,提供了较好的用户体验;但是Single-SPA 的系统构建复杂,应用需要集成在一起进行构建,不支持不同应用的部署分离,代码结构复杂,学习成本高。
[0005]因此,如何解决目前前端微服务方案中存在的构建复杂性问题,保证优良的子应用管理效率,是本领域技术人员急需解决的问题。

技术实现思路

[0006]本申请的目的是提供前端微服务实现方法,该方法可以解决目前前端微服务方案中存在的构建复杂性问题,保证优良的子应用管理效率;本申请的另一目的是提供前端微服务实现装置、设备及一种可读存储介质。
[0007]为解决上述技术问题,本申请提供一种前端微服务实现方法,包括:
[0008]基座加载全局注册中心;其中,所述全局注册中心为预先创建的用于存放各所述子应用的信息的应用注册表;
[0009]根据所述全局注册中心加载子应用以响应服务请求;
[0010]定期拉取最新的子应用配置信息,并根据所述子应用配置信息调用生命周期管理应用对各所述子应用的运行进行生命周期管理。
[0011]可选地,基座加载全局注册中心,并根据所述全局注册中心加载子应用以响应服务请求,包括:
[0012]基座从全局对象中加载全局注册中心,并根据所述全局注册中心加载子应用以响应服务请求。
[0013]可选地,所述的前端微服务实现方法还包括:
[0014]基座接收变量变化通知;其中,所述变量为全局变量池中全局变量;
[0015]确定变化的变量对应的预先注册的观察者;
[0016]向所述观察者广播所述全局变量发生变化的通知。
[0017]可选地,所述的前端微服务实现方法还包括:
[0018]监测各所述子应用的路由变化;
[0019]若监测到所述路由从第一子应用切换至第二子应用后,调用所述生命周期管理应用加载所述第二子应用,并卸载所述第一子应用;
[0020]调用沙箱应用创建所述第二子应用的全局变量以及独立作业环境。
[0021]可选地,所述的前端微服务实现方法还包括:
[0022]当接收到多子应用同时展示指令后,根据指定同时展示的各子应用的标识指定dom元素;
[0023]当接收到子应用操作指令后,触发所述子应用的启动;
[0024]当接收到子应用关闭指令后,卸载所述子应用。
[0025]可选地,所述的前端微服务实现方法还包括:
[0026]判断一个页面下是否存在多个子应用;
[0027]若一个页面下存在多个子应用,根据预先维护的第三方依赖列表判断各所述子应用是否存在相同的第三方依赖;
[0028]若各所述子应用存在相同的第三方依赖,将所述第三方依赖在所述基座中统一导入。
[0029]可选地,在所述基座加载全局注册中心之前,还包括:
[0030]识别模式运行全局变量指示的运行模式;其中,所述运行模式包括单独运行模式以及微前端应用模式;
[0031]若为微前端应用模式,则执行所述基座加载全局注册中心的步骤。
[0032]本申请还提供了一种前端微服务实现装置,该装置包括:
[0033]注册加载单元,用于基座加载全局注册中心;其中,所述全局注册中心为预先创建的用于存放各所述子应用的信息的应用注册表;
[0034]子应用调用单元,用于根据所述全局注册中心加载子应用以响应服务请求;
[0035]生命周期管理单元,用于定期拉取最新的子应用配置信息,并根据所述子应用配置信息调用生命周期管理应用对各所述子应用的运行进行生命周期管理。
[0036]本申请还提供了一种前端微服务实现设备,包括:
[0037]存储器,用于存储计算机程序;
[0038]处理器,用于执行所述计算机程序时实现所述的前端微服务实现方法的步骤。
[0039]本申请还提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现所述的前端微服务实现方法的步骤。
[0040]本申请所提供的前端微服务实现方法中提出了一种独立完整的前端微服务架构,无需借助或支持于前端服务架构,通过构建基座,通过基座对各子应用的加载以及运行进行统一的管理,可以保证前端微服务的高效管理;同时该方法中在对子应用进行生命周期管理时,将生命周期放在基座里,可以避免现有服务架构中容易出现的架构复杂性问题;而且对于子应用的不同管理需求调用相应的处理方式进行相应的业务处理,实现了将代码按
照业务进行分割,可以降低代码耦合,便于开发和维护,并且可以进行独立升级,增强了产品的敏捷性,提高了开发效率。
[0041]本申请还提供了一种前端微服务实现装置、设备及一种可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
[0042]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0043]图1为本申请实施例提供的一种前端微服务实现方法的流程图;
[0044]图2为本申请实施例提供的一种微服务架构下的子应用生命周期管理示意图;
[0045]图3为本申请实施例提供的一种前端微服务实现装置的结构框图;
[0046]图4为本申请实施例提供的一种前端微服务实现设备的结构示意图。
具体实施方式
[0047]本申请的核心是提供前端微服务实现方法,该方法可以解决目前前端微服务方案中存在的构建复杂性问题,保证优良的子应用管理效率;本申请的另一核心是提供前端微服务实现装置、设备及一种可读存储介质。
[0048]为使本申请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种前端微服务实现方法,其特征在于,该方法包括:基座加载全局注册中心;其中,所述全局注册中心为预先创建的用于存放各所述子应用的信息的应用注册表;根据所述全局注册中心加载子应用以响应服务请求;定期拉取最新的子应用配置信息,并根据所述子应用配置信息调用生命周期管理应用对各所述子应用的运行进行生命周期管理。2.如权利要求1所述的前端微服务实现方法,其特征在于,基座加载全局注册中心,并根据所述全局注册中心加载子应用以响应服务请求,包括:基座从全局对象中加载全局注册中心,并根据所述全局注册中心加载子应用以响应服务请求。3.如权利要求1所述的前端微服务实现方法,其特征在于,还包括:基座接收变量变化通知;其中,所述变量为全局变量池中全局变量;确定变化的变量对应的预先注册的观察者;向所述观察者广播所述全局变量发生变化的通知。4.如权利要求1所述的前端微服务实现方法,其特征在于,还包括:监测各所述子应用的路由变化;若监测到所述路由从第一子应用切换至第二子应用后,调用所述生命周期管理应用加载所述第二子应用,并卸载所述第一子应用;调用沙箱应用创建所述第二子应用的全局变量以及独立作业环境。5.如权利要求1所述的前端微服务实现方法,其特征在于,还包括:当接收到多子应用同时展示指令后,根据指定同时展示的各子应用的标识指定dom元素;当接收到子应用操作指令后,触发所述子应用的启动;当接收到子应用关闭指令后,卸载所述子应用...

【专利技术属性】
技术研发人员:王帅
申请(专利权)人:山东英信计算机技术有限公司
类型:发明
国别省市:

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

1