一种流量染色方法和系统技术方案

技术编号:32005918 阅读:22 留言:0更新日期:2022-01-22 18:22
本申请公开了一种流量染色方法和系统,涉及APM系统技术领域。流量染色方法包括:采集调用链;获取流量染色标记,以供代理节点根据所述调用链和所述流量染色标记分发路由以及供代理节点将所述流量染色标记对应的流量导入对应的隔离部署池。本申请能够通过基于调用链的Baggage功能为指定流量染色且流量染色标记可以在全局中透明化传输,由于调用链已经存在,这样开发成本低,用户无感知,对用户的干扰小,接入和推广方便。接入和推广方便。接入和推广方便。

【技术实现步骤摘要】
一种流量染色方法和系统


[0001]本申请涉及APM系统
,具体涉及一种流量染色方法和系统。

技术介绍

[0002]随着分布式系统架构的普及,系统越来越复杂,常常被切分为多个独立子系统并以集群方式部署在数十甚至成百上千的机器上。为掌握系统运行状态,确保系统健康,我们需要一些手段去监控系统,以了解系统行为,分析系统的性能,或在系统出现故障时,能发现问题、记录问题并发出告警,从而达到先于运营人员发现问题、定位问题。也可以根据监控数据发现系统瓶颈,提前感知故障,预判系统负载能力等。传统的性能监控系统升级成包含从业务、运维、研发视角的全景式全链路监控系统,即为APM系统的发展方向。
[0003]流量染色是为指定流量打上标签进行染色,然后此流量标签随着trace在整个调用链中传输。从而可以对特定的流量进行追踪和路由。此流量染色技术广泛用于全链路压测场景、AB测试场景等,在链路压测过程中,为了不影响正常的业务,需要在链路压测中对压测流量打上标记进行染色,从而将压测流量隔离到压测部署池中运行(计算节点),但是现有技术中,并没有基于调用链来进行流量染色,开发成本较大,对用户的干扰较大,存在影响正常业务的情况,接入和推广也不方便。
[0004]申请内容
[0005]为了解决上述
技术介绍
中提到的至少一个问题,本申请提供了一种流量染色方法和系统,能够通过基于调用链的Baggage功能为指定流量染色且可以在全局中透明化传输,由于调用链已经存在,这样开发成本低,用户无感知,对用户的干扰小,接入和推广方便。
>[0006]本申请实施例提供的具体技术方案如下:
[0007]第一方面,提供一种流量染色方法,应用于客户端,所述方法包括:
[0008]采集调用链;
[0009]获取流量染色标记,以供代理节点根据所述调用链和所述流量染色标记分发路由以及供代理节点将所述流量染色标记对应的流量导入对应的隔离部署池。
[0010]进一步的,所述获取流量染色标记,以供代理节点根据所述调用链和所述流量染色标记分发路由以及供代理节点将所述流量染色标记对应的流量导入对应的隔离部署池,具体包括:
[0011]接收并拦截进入代理节点的用户请求,根据所述用户请求获取流量染色标记,并将所述流量染色标记放入调用链中,
[0012]以供代理节点根据所述调用链获取所述流量染色标记,以供所述代理节点根据所述流量染色标记分发路由以及供代理节点将所述流量染色标记对应的流量导入对应的隔离部署池。
[0013]进一步的,所述调用链包括baggage功能,所述流量染色标记包括baggage

pref,所述根据所述用户请求获取流量染色标记,并将所述流量染色标记放入调用链中,
[0014]以供代理节点根据所述调用链获取所述流量染色标记,以供所述代理节点根据所
述流量染色标记分发路由以及供代理节点将所述流量染色标记对应的流量导入对应的隔离部署池,包括:
[0015]获取设置在所述用户请求中的流量染色标记baggage

pref,并将所述baggage

pref放入调用链中,
[0016]以供代理节点根据所述调用链中的所述baggage功能获取所述流量染色标记baggage

pref,以供所述代理节点根据所述baggage

pref分发路由以及供代理节点将所述baggage

pref对应的流量导入对应的隔离部署池。
[0017]进一步的,所述方法还包括:
[0018]将所述流量染色标记设置到span中,以供所述流量染色标记向若干下游代理节点传递。
[0019]进一步的,所述方法还包括:
[0020]获取所述隔离部署池中的流量染色标记;
[0021]将所述隔离部署池中的流量染色标记设置到路由头部中或路由上下文中,以供所述流量染色标记向若干下游代理节点传递。
[0022]进一步的,在所述流量染色标记传递至任一所述下游代理节点时,所述方法还包括:
[0023]接收并拦截进入所述下游代理节点的下游用户请求,根据所述用户请求获取所述流量染色标记,并将所述流量染色标记放入调用链中,
[0024]以供所述下游代理节点根据所述调用链获取所述流量染色标记,以供所述下游代理节点根据所述流量染色标记分发路由以及供所述下游代理节点将所述流量染色标记对应的流量导入对应的下游隔离部署池。
[0025]进一步的,所述方法还包括:
[0026]获取所述下游隔离部署池中的流量染色标记;
[0027]将所述下游隔离部署池中的流量染色标记设置到路由头部中或路由上下文中,以供所述流量染色标记继续向更下游传递。
[0028]第二方面,提供一种流量染色系统,系统包括客户端、若干代理节点和若干隔离部署池,所述客户端包括:
[0029]采集模块,用于采集调用链;
[0030]接收模块,用于获取流量染色标记,以供代理节点根据所述调用链和所述流量染色标记分发路由以及供代理节点将所述流量染色标记对应的流量导入对应的隔离部署池。
[0031]第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述流量染色方法。
[0032]第四方面,提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行所述流量染色方法。
[0033]本申请实施例具有如下有益效果:
[0034]本申请实施例提供的一种流量染色方法和系统,能够基于调用链的baggage功能对指定流量进行染色,由于调用链已经存在,因此开发成本低;因为客户端采用探针采集,用户无感知,因此不会影响到正常业务,对用户的影响/干扰小,接入和推广也方便。另外,流量染色可以用于全链路压测场景、AB测试场景以及环境治理等场景中,应用广泛;通过流
量染色可以区分出各种场景的流量,并针对不同的流量做出不同的处理,互不干扰,达到流量隔离的效果;同时,基于调用链的baggage功能可以通过baggage传递全局信息,在上下文进行透传,实现不同环境间的动态路由。
附图说明
[0035]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1示出本申请实施例提供的流量染色方法的流程示意图;
[0037]图2示出根据本申请一个实施例的压测流量染色的工作流程示意图;
[0038]图3示出本申请实施例提供的流量染色系统的结构示意图;
[0039]图4示出可被用于实施本申请中所述的各个实施例的示例性系统;
具体实施方式
[0040]本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种流量染色方法,应用于客户端,其特征在于,所述方法包括:采集调用链;获取流量染色标记,以供代理节点根据所述调用链和所述流量染色标记分发路由以及供代理节点将所述流量染色标记对应的流量导入对应的隔离部署池。2.根据权利要求1所述的流量染色方法,其特征在于,所述获取流量染色标记,以供代理节点根据所述调用链和所述流量染色标记分发路由以及供代理节点将所述流量染色标记对应的流量导入对应的隔离部署池,具体包括:接收并拦截进入代理节点的用户请求,根据所述用户请求获取流量染色标记,并将所述流量染色标记放入调用链中,以供代理节点根据所述调用链获取所述流量染色标记,以供所述代理节点根据所述流量染色标记分发路由以及供代理节点将所述流量染色标记对应的流量导入对应的隔离部署池。3.根据权利要求2所述的流量染色方法,其特征在于,所述调用链包括baggage功能,所述流量染色标记包括baggage

pref,所述根据所述用户请求获取流量染色标记,并将所述流量染色标记放入调用链中,以供代理节点根据所述调用链获取所述流量染色标记,以供所述代理节点根据所述流量染色标记分发路由以及供代理节点将所述流量染色标记对应的流量导入对应的隔离部署池,包括:获取设置在所述用户请求中的流量染色标记baggage

pref,并将所述baggage

pref放入调用链中,以供代理节点根据所述调用链中的所述baggage功能获取所述流量染色标记baggage

pref,以供所述代理节点根据所述baggage

pref分发路由以及供代理节点将所述baggage

pref对应的流量导入对应的隔离部署池。4.根据权利要求2所述的流...

【专利技术属性】
技术研发人员:刘登
申请(专利权)人:唯品会广州软件有限公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利