System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于微前端组件的前端项目多版本应用发布方法、装置制造方法及图纸_技高网

基于微前端组件的前端项目多版本应用发布方法、装置制造方法及图纸

技术编号:40839845 阅读:3 留言:0更新日期:2024-04-01 15:06
本发明专利技术涉及灰度发布领域,公开了一种基于微前端组件的前端项目多版本应用发布方法、装置,该方法包括:接收用户登录指令,根据登录指令请求配置服务获取灰度规则信息,将灰度规则信息返回至浏览器缓存,用户登录后加载主应用页面;当用户访问子应用时,接收用户访问子应用的指令,获取相应的灰度规则信息,根据灰度规则信息拼装带有版本标记的新的子应用统一资源定位符URL;通过微前端组件的路由功能配合负载均衡器根据新的子应用URL实现指定版本的子应用的请求和页面展示。本发明专利技术解决了现有多个前端灰度发布方案复杂繁琐的问题。

【技术实现步骤摘要】

本专利技术涉及灰度发布领域,尤其涉及一种基于微前端组件的前端项目多版本应用发布方法、装置


技术介绍

1、在保险行业的大型复杂前端项目中,存在多团队分别开发多个前端子项目,并整合为一个大型复杂前端项目的场景,同时,各子项目又存在多个版本同时在线提供服务的需求。

2、目前前端项目多版本同时发布的主流方式有2种。

3、第一种是将多版本访问的逻辑内嵌到代码中,通过代码逻辑实现不同范围的用户访问不同的代码逻辑的功能,但缺点是在升级时必须重新发布原有代码,对所有用户都有影响,不能保证稳定性。

4、第二种是通过cookie、localstorage等前端存储配合负载均衡器实现多版本同时在线访问的能力,将要访问的版本号标记写入前端存储,并在前端用户发起请求时携带该标记,负载均衡器识别标记后按照预先配置好的规则进行转发。此方法的缺点是每次调用必须携带版本标记,如果用户自动或手动清除缓存,则可能导致无法访问到指定版本。

5、上述两种方案,要么负载均衡器需要植入代码逻辑,要么多设置一个负载均衡器用的数据库来保存灰度配置数据,或者需要前端基于cookie,配合后端维护一套独立的灰度实现方案,方案复杂繁琐,资源消耗大。


技术实现思路

1、本专利技术提供了一种基于微前端组件的前端项目多版本应用发布方法、装置,解决了现有多个前端灰度发布方案复杂繁琐的问题。

2、一种基于微前端组件的前端项目多版本应用发布方法,包括:

3、接收用户登录指令,根据所述登录指令请求配置服务获取灰度规则信息,将所述灰度规则信息返回至浏览器缓存,用户登录后加载主应用页面;

4、当用户访问子应用时,接收所述用户访问子应用的指令,获取相应的灰度规则信息,根据所述灰度规则信息拼装带有版本标记的新的子应用统一资源定位符url;

5、通过微前端组件的路由功能配合负载均衡器根据新的子应用url实现指定版本的子应用的请求和页面展示。

6、在本专利技术的一种实施例中,在用户登录前,所述方法还包括:接收用户的注册信息;根据所述注册信息通过配置服务确定灰度规则信息;所述灰度规则信息包括但不限于用户类别、用户对应访问的子应用及其版本标记、子应用原始url和版本访问规则。

7、在本专利技术的一种实施例中,所述接收用户登录指令,根据所述登录指令请求配置服务获取灰度规则信息,将所述灰度规则信息返回至浏览器缓存,具体包括:浏览器接收用户的登录指令,并向负载均衡器发起登录请求;负载均衡器向登录服务转发所述登录请求,登录服务根据所述登录请求完成登录后向用户浏览器返回登录信息;完成登录后,浏览器向配置服务请求获取灰度规则信息,配置服务根据浏览器请求将相应的灰度规则信息返回至浏览器缓存。

8、在本专利技术的一种实施例中,所述接收所述用户访问子应用的指令,获取相应的灰度规则信息,根据所述灰度规则信息拼装带有版本标记的新的子应用统一资源定位符url,具体包括:接收用户访问子应用的指令,根据该指令确定相应的灰度规则信息;根据所述灰度规则信息确定与用户对应的子应用版本标记,将所述子应用版本标记基于所述版本访问规则拼接至子应用原始url中的应用名称后面,形成带有版本标记的新的子应用url。

9、在本专利技术的一种实施例中,所述通过微前端组件的路由功能配合负载均衡器根据所述新的子应用url实现指定版本的子应用的请求和页面展示,具体包括:通过微前端组件发起fetch请求,负载均衡器根据所述fetch请求中的新的子应用url定位到相应版本的子应用服务器,获取相应版本的子应用的代码资源,将所述代码资源返回至浏览器;浏览器加载所述代码资源后显示所述子应用页面。

10、在本专利技术的一种实施例中,所述根据该指令确定相应的灰度规则信息,具体包括:根据用户访问子应用的指令查询浏览器缓存中是否已存储相应的灰度规则信息,若是,直接获取;若否,访问配置服务获取相应的灰度规则信息。

11、在本专利技术的一种实施例中,负载均衡器转发请求时,采用统一正则表达式进行配置。

12、一种基于微前端组件的前端项目多版本应用发布方法装置,包括:

13、主应用登录模块,用于接收用户登录指令,根据所述登录指令请求配置服务获取灰度规则信息,将所述灰度规则信息返回至浏览器缓存,用户登录后加载主应用页面;

14、路由拼装模块,用于当用户访问子应用时,接收所述用户访问子应用的指令,获取相应的灰度规则信息,根据所述灰度规则信息拼装带有版本标记的新的子应用url;

15、灰度发布模块,用于通过微前端组件的路由功能配合负载均衡器根据所述新的子应用url实现指定版本的子应用的请求和页面展示。

16、一种基于微前端组件的前端项目多版本应用发布方法设备,包括:

17、至少一个处理器;以及,

18、与所述至少一个处理器通过总线通信连接的存储器;其中,

19、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被执行,以实现如上述各实施例任一项所述的方法。

20、一种非易失性存储介质,存储有计算机可执行指令,所述计算机可执行指令由处理器执行,以实现如上述各实施例任一项所述的方法。

21、本专利技术提供了一种基于微前端组件的前端项目多版本应用发布方法、装置,至少包括以下有益效果:在微前端架构下,多个前端的灰度发布,只需要给原本的微前端路由的配置数据加个版本号字段,同时可以避免对负载均衡配置代码逻辑的修改,实现了在这个场景下非常简便的实现了灰度发布;在利用微前端组件进行多个子应用集成时,通过微前端组件及相关后端配置数据,实现纯前端页面在客户端运行时即可根据url中的版本标记明确需要拉取哪个版本的前端静态资源;且在灰度版本发布或下线时,无需对负载均衡器做配置更新,按原有逻辑的正则表达式匹配即可完成转发,减少负载均衡器的配置变更,使系统更稳定,实现了可靠的基于微前端组件的大型前端项目按子应用版本进行灰度发布。

本文档来自技高网...

【技术保护点】

1.一种基于微前端组件的前端项目多版本应用发布方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在用户登录前,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述接收用户登录指令,根据所述登录指令请求配置服务获取灰度规则信息,将所述灰度规则信息返回至浏览器缓存,具体包括:

4.根据权利要求2所述的方法,其特征在于,所述接收所述用户访问子应用的指令,获取相应的灰度规则信息,根据所述灰度规则信息拼装带有版本标记的新的子应用统一资源定位符URL,具体包括:

5.根据权利要求1所述的方法,其特征在于,所述通过微前端组件的路由功能配合负载均衡器根据所述新的子应用URL实现指定版本的子应用的请求和页面展示,具体包括:

6.根据权利要求4所述的方法,其特征在于,所述根据该指令确定相应的灰度规则信息,具体包括:

7.根据权利要求1所述的方法,其特征在于,负载均衡器转发请求时,采用统一正则表达式进行配置。

8.一种基于微前端组件的前端项目多版本应用发布方法装置,其特征在于,包括:>

9.一种基于微前端组件的前端项目多版本应用发布方法设备,其特征在于,包括:

10.一种非易失性存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令由处理器执行,以实现如权利要求1-7任一项所述的方法。

...

【技术特征摘要】

1.一种基于微前端组件的前端项目多版本应用发布方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在用户登录前,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述接收用户登录指令,根据所述登录指令请求配置服务获取灰度规则信息,将所述灰度规则信息返回至浏览器缓存,具体包括:

4.根据权利要求2所述的方法,其特征在于,所述接收所述用户访问子应用的指令,获取相应的灰度规则信息,根据所述灰度规则信息拼装带有版本标记的新的子应用统一资源定位符url,具体包括:

5.根据权利要求1所述的方法,其特征在于,所述通过微前端组件的路由功能配合负载均...

【专利技术属性】
技术研发人员:蔡雨佳潘曦李超贾韶光李天驰陈想李思涛刘震
申请(专利权)人:中国人民财产保险股份有限公司
类型:发明
国别省市:

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

1