一种基于容器化的网络流量拆分方法及系统技术方案

技术编号:37846331 阅读:6 留言:0更新日期:2023-06-14 22:31
本发明专利技术提供了一种基于容器化的网络流量拆分方法及系统。基于容器化的网络流量拆分方法包括:步骤S1:分别在每一个容器上增设一个代理服务模块,所述代理服务模块实时监听当前容器的基本信息,并将当前容器的基本信息实时上送至核心服务模块,所述基本信息包括当前容器的IP变化;步骤S2:核心服务模块实时获取到所有容器的最新基本信息,并根据所有容器的最新基本信息及时调整流量拆分策略规则进而对所有容器进行流量分配。本申请在每个容器上增加了一个代理服务,该代理向核心服务上送当前容器的基本信息,当容器发生变更时,通过核心服务实时获取到的容器IP变化,及时调整流量拆分策略规则,从而解决容器化的流量拆分问题。从而解决容器化的流量拆分问题。从而解决容器化的流量拆分问题。

【技术实现步骤摘要】
一种基于容器化的网络流量拆分方法及系统


[0001]本专利技术涉及网络流量拆分
,尤其涉及基于容器化的网络流量拆分技术。

技术介绍

[0002]流量拆分是软件升级,故障转移,及功能性测试的重要手段,常常用于拆分用户请求,将流量按照需要,将流量转到指定的服务器上,例如常见的:(1)软件版本升级:拆分路由的流量逐渐从一个集群优雅地转移到另一个新的集群,保障业务连续不中断。(2)A/B测试或多变量测试:同时测试两个或更多版本的相同服务。将流量根据规则拆分到不同版本进行测试。
[0003]在软件的生命周期维护过程中,需要常常对线上的软件进行升级维护调整,但是为了保障用户无感知,保障业务的连续不中断性,需要对网络流量进行拆分:
[0004]如图1所示,如现有的蓝绿部署方案中,一共有两套系统:一套是正在提供服务系统,标记为“绿色”;另一套是准备发布的系统,标记为“蓝色”。两套系统都是功能完善的,并且正在运行的系统,只是版本和对外服务情况不同。
[0005]对外提供服务的老系统是绿色系统,新部署的系统是蓝色系统,通过流量拆分,逐步将流量切到新系统中。
[0006]从过程不难发现,在部署的过程中,我们的应用始终在线。并且,新版本上线的过程中,并没有修改老版本的任何内容,在部署期间,老版本的状态不受影响。这样风险很小,并且,只要老版本的资源不被删除,理论上,我们可以在任何时间回滚到老版本。
[0007]同时,也需要进行不同功能的测试,例如常用的A/B测试,同一时间有多个版本的服务对外服务,这些服务都是经过足够测试,达到了上线标准的服务,有差异但是没有新旧之分(它们上线时可能采用了蓝绿部署的方式)。
[0008]如图2所示,在A/B测试中,需要能够拆分控制流量的比例,譬如说,为A版本分配20%的流量,为B版本分配80%的流量。
[0009]但是,因为容器化动态的技术特点,IP持续发生变化,导致网络流量拆分规则无法识别。故以上方案都无法实现。

技术实现思路

[0010]为了解决容器化IP时刻变化导致的网络流量策略无法识别的问题,本专利技术的第一个方面提供一种基于容器化的网络流量拆分方法,其包括:
[0011]步骤S1:分别在每一个容器上增设一个代理服务模块,所述代理服务模块实时监听当前容器的基本信息,并将当前容器的基本信息实时上送至核心服务模块,所述基本信息包括但不限于当前容器的IP变化;
[0012]步骤S2:核心服务模块实时获取到所有容器的最新基本信息,并根据所有容器的最新基本信息及时调整流量拆分策略规则进而对所有容器进行流量分配。
[0013]本申请中的流量拆分策略规则可以采用本领域常规的任意拆分策略,示例地,所
述流量拆分策略规则为按比例拆分流量。
[0014]本专利技术的第二个方面提供一种基于容器化的网络流量拆分系统,其包括:核心服务模块和分别增设于每一个容器上的代理服务模块;所述代理服务模块包括监听模块和上送模块,所述监听模块用于实时监听当前容器的基本信息,所述基本信息包括但不限于当前容器的IP变化,所述上送模块用于将当前容器的基本信息实时上送至核心服务模块,所述核心服务模块用于实时获取到所有容器的最新基本信息,并根据所有容器的最新基本信息及时调整流量拆分策略规则进而对所有容器进行流量分配。
[0015]本申请中的流量拆分策略规则可以采用本领域常规的任意拆分策略,示例地,所述流量拆分策略规则为按比例拆分流量。
[0016]采用了上述技术方案后,与现有技术相比,具有以下有益效果:
[0017]本申请在每个容器上增加了一个代理服务,该代理向核心服务上送当前容器的基本信息,核心服务实时获取到所有最新的容器信息。当进行流量拆分时,根据核心服务得到的所有容器信息,基于策略规则进行流量分配。当容器发生变更时,通过核心服务实时获取到的容器IP变化,及时调整流量拆分策略规则,从而解决容器化的流量拆分问题。
附图说明
[0018]图1为现有技术中的线上软件进行升级维护调整时,反向代理服务器通过流量拆分,将旧版本系统(图中绿色所示)的流量逐步切到新版本系统(图中蓝色所示)中。
[0019]图2为现有技术中按比例进行流量拆分的原理示意图。
[0020]图3为本申请一实施例中基于容器化的网络流量拆分系统的部署框架图。
具体实施方式
[0021]以下结合附图与具体实施例进一步阐述本专利技术的优点。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本专利技术的保护范围。
[0022]如图3所示,本实施例中的容器包括容器A和容器B。本实施例中的基于容器化的网络流量拆分系统包括核心服务模块、代理服务模块A以及代理服务模块B。
[0023]每一个代理服务模块包括监听模块和上送模块。所述监听模块用于实时监听当前容器的基本信息,所述基本信息包括当前容器的IP变化。所述上送模块用于将当前容器的基本信息实时上送至核心服务模块。所述核心服务模块用于实时获取到所有容器的最新基本信息,并根据所有容器的最新基本信息及时调整流量拆分策略规则进而对所有容器进行流量分配。
[0024]示例地,采用上述基于容器化的网络流量拆分系统进行网络流量拆分的方法包括以下步骤:
[0025]步骤S1:在容器A上增设一个代理服务模块A,代理服务模块A实时监听容器A的基本信息,并将容器A的基本信息(例如容器A的IP变化等)实时上送至核心服务模块;在容器B上增设一个代理服务模块B,所述代理服务模块B实时监听容器B的基本信息,并将容器B的基本信息(例如容器B的IP变化等)实时上送至核心服务模块。
[0026]步骤S2:核心服务模块实时获取到容器A和容器B的最新基本信息,并根据所有容器的最新基本信息及时调整流量拆分策略规则进而对所有容器进行流量分配。
[0027]本申请中的流量拆分策略规则可以采用本领域常规的任意拆分策略,示例地,所述流量拆分策略规则为按比例拆分流量。
[0028]应当注意的是,本专利技术的实施例有较佳的实施性,且并非对本专利技术作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的
技术实现思路
变更或修饰为等同的有效实施例,但凡未脱离本专利技术技术方案的内容,依据本专利技术的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本专利技术技术方案的范围内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于容器化的网络流量拆分方法,其特征在于,包括:步骤S1:分别在每一个容器上增设一个代理服务模块,所述代理服务模块实时监听当前容器的基本信息,并将当前容器的基本信息实时上送至核心服务模块,所述基本信息包括当前容器的IP变化;步骤S2:核心服务模块实时获取到所有容器的最新基本信息,并根据所有容器的最新基本信息及时调整流量拆分策略规则进而对所有容器进行流量分配。2.如权利要求1所述的基于容器化的网络流量拆分方法,其特征在于,所述流量拆分策略规则为按比例拆分流量。3.一种基于容器化的网络...

【专利技术属性】
技术研发人员:魏巍吴升斌叶奕珺
申请(专利权)人:上海漫道科技有限公司
类型:发明
国别省市:

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

1