流量采样设计

背景

流量回放平台在录制过程中所录制的流量分类后发现重复流量太多,导致每次回放的时候会有上万条流量,某些流量的条数重复超过了30甚至更多,此类流量大多属于查询流量,回放过程中并不需要同样的流量回放这么多所以就需要我们在录制流量的过程中对流量进行采样率的设置。

流量类别分析

回放验证功能接口是否正常,所需的流量不需要太多,对覆盖率的要求更高。所以采样率的设置主要是针对查询类流量。对于涉及数据变更的流量来说。相同流量就比较少;数据的变更影响到功能数据的完整性。所以涉及数据变更的流量不应该设置采样率。

新增和更新操作经过采样后会导致数据不完整,回放时流量可能有数据依赖会导致回放失败。

方案

openresty

在openresty中增加接口采样率,只对需要采样的接口增加流量回放标识Repeat-TraceId-X。openresty增加设置接口采样率的接口,数据存储redis。

优点:对于不采样的数据直接放过不做任何更改

缺点:openresty更新比较麻烦,采样逻辑校验会增加接口响应耗时(此影响极小)

goreplay

在goreplay中增加接口采样率,只对需要采样的流量进行投递,非采样的流量直接抛弃。

优点:此方式比openresty成本略低

缺点:不是在源头控制

admin-service

在消费kafka投递过来的流量时进行流量采样判断,采样的流量正常处理,非采样流量直接丢弃。

优点:此方式研发成本最低,灵活性也比较高,可以对抛弃流量做任何处理。

缺点:不是在源头控制

结论

对以上三种方案进行对比后觉得采用admin-service更改的方案。此方案比较适合当下情况,方案的灵活性高,内容变动上线方便,且变动队线上业务应用无影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值