基于配置分流部署的微服务流量切换方法、装置和介质制造方法及图纸

技术编号:30912690 阅读:14 留言:0更新日期:2021-11-23 00:00
本发明专利技术公开了一种基于配置分流部署的微服务流量切换方法、装置和介质。一种基于配置分流部署的微服务流量切换方法包括:读取菜单配置文件中与当前流量对应的流量控制参数;若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目;否则将当前流量切换至容器化项目。本发明专利技术公开的基于配置分流部署的微服务流量切换方法、装置和介质,实现用户无感的微服务流量切换。实现用户无感的微服务流量切换。实现用户无感的微服务流量切换。

【技术实现步骤摘要】
基于配置分流部署的微服务流量切换方法、装置和介质


[0001]本专利技术实施例涉及信息处理技术,尤其涉及一种基于配置分流部署的微服务流量切换方法、装置和介质。

技术介绍

[0002]当前,各应用服务开始采用微服务架构逐步替代原有单体架构以实现模块独立、快速部署,便于代码的快速迭代与持续优化。微服务架构微服务(或称微服务)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。在微服务体系结构中,服务是细粒度的,协议是轻量级的。
[0003]但是,对大型复杂单体架构应用服务的微服务改造工作很难在短期内完成微服务改造工作,对于完成微服务改造的模块也需要原单体架构应用作为备用。当因业务需求优化或微服务模块调整等原因需要暂时切换微服务流量至原单体架构应用时,需要手动修改菜单统一资源定位系统(uniform resource locator,url)路径,并重启应用以实现流量切换。
[0004]但上述微服务流量切换方法耗时耗力,且会导致在一定的时间内用户无法使用服务。

技术实现思路

[0005]本专利技术提供一种基于配置分流部署的微服务流量切换方法、装置和介质,能够在不重启应用的前提下,实现临时关闭特定微服务的请求流量,实现用户无感的微服务流量切换。
[0006]第一方面,本专利技术实施例提供了一种基于配置分流部署的微服务流量切换方法,包括:
[0007]读取菜单配置文件中与当前流量对应的流量控制参数;
[0008]若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目;
[0009]否则将当前流量切换至容器化项目。
[0010]第二方面,本专利技术实施例还提供了一种基于配置分流部署的微服务流量切换装置,包括:
[0011]读取模块,用于读取菜单配置文件中与当前流量对应的流量控制参数;
[0012]判断模块,用于判断当前流量对应的流量控制参数是否指示流量切换至微服务;
[0013]切换模块,用于若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目;否则将当前流量切换至容器化项目。
[0014]第三方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如第一方面的基于配置分流部署的微服务流量切换方法。
[0015]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面的基于配置分流部署的微服务流量切换方法。
[0016]本专利技术实施例提供的基于配置分流部署的微服务流量切换方法、装置和介质,在读取菜单配置文件中与当前流量对应的流量控制参数后,若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目,否则将当前流量切换至容器化项目,实现临时关闭特定微服务的请求流量,实现用户无感的微服务流量切换。
附图说明
[0017]图1为本专利技术实施例提供的一种基于配置分流部署的微服务流量切换方法的流程图;
[0018]图2为本专利技术实施例提供的基于配置分流部署的微服务流量切换方法的流量切换流程图;
[0019]图3为本专利技术实施例提供的另一种基于配置分流部署的微服务流量切换方法的流程图;
[0020]图4为本专利技术实施例提供的基于配置分流部署的微服务流量切换方法的会话管理流程图;
[0021]图5为本专利技术实施例提供的一种基于配置分流部署的微服务流量切换装置的结构示意图;
[0022]图6为本专利技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0023]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0024]图1为本专利技术实施例提供的一种基于配置分流部署的微服务流量切换方法的流程图,如图1所示,本实施例提供的基于配置分流部署的微服务流量切换方法包括:
[0025]步骤S110,读取菜单配置文件中与当前流量对应的流量控制参数。
[0026]本实施例提供的基于配置分流部署的微服务流量切换方法应用于任一种应用服务,该应用服务并存微服务架构和容器化单体架构。该应用服务可以是任一种为用户提供服务的应用服务,例如银行的网银系统。为了解决在应用服务采用微服务架构逐步替换原有单体架构的过程中,业务流量在微服务架构和容器化单体架构间切换时需要重启应用服务的问题,本实施例提出以各业务菜单为原子单位,能够在不重启应用的前提下实现微服务与原单体架构应用服务的快速流量切换,将原单体架构应用服务作为微服务应用的热备用,显著提升服务可靠性,便于对微服务模块的快速迭代优化。
[0027]首先,需要在菜单配置文件中配置流量控制参数,当获取到应用服务的当前流量时,从菜单配置文件中读取配置的流量控制参数。菜单配置文件是对应用服务的业务菜单进行配置的规则集合。菜单配置文件中的流量控制参数用于以业务菜单为单位,对各业务菜单对应的流量进行控制。在应用服务同时具有微服务架构和容器化单体架构时,流量控
制参数用于指示各业务菜单对应的流量流入微服务项目还是流入容器化项目。
[0028]步骤S120,若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目。
[0029]由于微服务架构较单体化架构性能更优,因此在已进行微服务架构改造的模块中,可以优先选择将业务流量流入微服务项目。那么在获取当前流量对应的流量控制参数后,即可以判断该流量控制参数是否指示当前流量切换至微服务。若当前流量对应的流量控制参数指示流量切换至微服务,则将当前流量切换至微服务项目。
[0030]步骤S130,否则将当前流量切换至容器化项目。
[0031]若当前流量对应的流量控制参数并未指示流量切换至微服务,那么就需要将当前流量切换至容器化项目,即原有单体架构。这样就实现了将单体架构作为微服务架构的备份,当因业务需求优化或微服务模块调整等原因需要暂时切换微服务流量至原单体架构应用时,可以无需手动切换以及重启应用实现流量切换。从而实现用户无感的微服务流量切换。
[0032]在一实施例中,菜单跳转路径配置在菜单配置文件中,菜单配置文件中包括容器化项目交易跳转路径(transId)和微服务项目交易跳转路径(msentPath)。容器化项目通过读取配置文件获取服务集和功能组id,同时将菜单路径赋值到菜单对象的属性。在确定将当前流量切换至微服务项目时,将当前流量对应的路径设置为微服务项目交易跳转路径;在确定将当前流量切换至容器化项目时,将当前流量对应的路径设置为容器化项目交易跳转路径。
[0033]在一实施例中,流量控制参数包括微服务开关参数、微服务模块流量控制参数、微服务菜单流量控制参数。其中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于配置分流部署的微服务流量切换方法,其特征在于,包括:读取菜单配置文件中与当前流量对应的流量控制参数;若所述当前流量对应的流量控制参数指示流量切换至微服务,则将所述当前流量切换至微服务项目;否则将所述当前流量切换至容器化项目。2.根据权利要求1所述的方法,其特征在于,所述菜单配置文件中包括容器化项目交易跳转路径和微服务项目交易跳转路径;所述将所述当前流量切换至微服务项目,包括:将所述当前流量对应的路径设置为所述微服务项目交易跳转路径;所述将所述当前流量切换至容器化项目,包括:将所述当前流量对应的路径设置为所述容器化项目交易跳转路径。3.根据权利要求2所述的方法,其特征在于,所述流量控制参数包括微服务开关参数、微服务模块流量控制参数、微服务菜单流量控制参数;所述若所述当前流量对应的流量控制参数指示流量切换至微服务,则将所述当前流量切换至微服务项目,包括:依次判断所述当前流量是否有对应的微服务项目交易跳转路径、所述微服务开关参数是否为打开状态、所述当前流量对应的微服务模块流量控制参数是否为非屏蔽状态、所述当前流量对应的微服务菜单流量控制参数是否为非屏蔽状态,若均为是则将所述当前流量切换至微服务项目。4.根据权利要求1~3任一项所述的方法,其特征在于,所述读取菜单配置文件中与当前流量对应的流量控制参数之前,还包括:周期性刷新所述菜单配置文件。5.根据权利要求1~3任一项所述的方法,其特征在于,还包括:若所述当前流量从微服务项目切换至容器化项目,或者所述当前流量从容器化项目切换至微服务项目,则判断所述当前流量对应的用户的许可标识是否有效;若有效,则从数据库中存储的用户登录记录中查询所述用户的许可标识是否与所述当前流量对应的所述用户的许可标识一致;若一致则完成流量切换,否则退出所述当前流量对应的用户的登录状态。6.根据权利要求5所述的方法,其特征在于,还包括:将用户对应的会话数据在容器化项目和微服务项目之间进行迁移。7.一种基于配置分流部署的微服务流量切换装置,其特征在于,包括:读取模块,用于读取菜单配置文件中与当前流量对应的流量控制参数;判断模块,用于判断所述当前流量对应的流量控制参数是否指示流量...

【专利技术属性】
技术研发人员:侯明斌莫林君吴珉鑫阿作阿沙李继龙
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:

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

1