流量回放平台(支持http+grpc,支持pb格式)

流量回放平台(支持http+grpc,支持pb格式)

背景

目前开源的工具例如tcpcopy、goreplay大多只支持http协议的流量回放,而且不支持pb,所以采用自研的方式。

架构图

一、整体架构:
流量回放平台(支持http+grpc,支持pb格式)_第1张图片
二、压测引擎
流量回放平台(支持http+grpc,支持pb格式)_第2张图片
三、流量录制推送
流量回放平台(支持http+grpc,支持pb格式)_第3张图片

重点实现

1、流量录制:
流量录制使用tcpdump把流量保存到本地/mq中
2、流量解析:
因为有pb格式的数据。所以借助了python的 dpkt包对流量进行了解析组装,根据请求的url不同进行区分,然后放到消息队列中
流量回放平台(支持http+grpc,支持pb格式)_第4张图片

3、请求引擎:
http:正常使用各种httpclient
grpc:1、调用服务自身grpc请求client 2、使用通用client
4、多线程处理,qps控制
开启多线程,消费消息队列数据,然后进行发压,qps通过每秒控制消息队列数据量进行控制。
5、流量回放时间时间控制:
根据设定时间,计时控制压测引擎使用时间

代码:

比较多,下次再写

你可能感兴趣的:(经验分享)