分布式

开源流量回放系统OTDD在传统架构上的应用

2020-03-28  本文已影响0人  otdd

OTDD可应用于传统架构

继上一篇文章《流量回放神器-OTDD》发布后,获得强烈的反响,文章收藏率持续保持在25%以上,侧面说明了OTDD的欢迎程度!

但同时,由于OTDD的设计直接面向于目前最火的云原生/Service Mesh架构,也即k8s+istio架构,又有不少朋友私信问我,OTDD能否应用在传统架构上?答案是,当然能!

OTDD两块儿核心的内容:

1、流量的录制

2、流量的回放

其中,除了流量的录制和具体的架构有关外,流量的回放是完全可复用的!

OTDD的顶层设计


OTDD的顶层设计

OTDD的顶层设计总共包含3个主要的模块

1、流量录制组件:和您具体的架构有关,OTDD默认提供k8s+istio下的流量录制;

2、otddserver:可独立部署,负责流量的存储、对接otdd-test-runner的请求,以及对流量的查看、编辑、回放选择、查看报告等。大部分的用户操作将在otddserver的web页面进行

3、otdd-test-runner:可以docker方式/linux service方式运行,和您开发环境有关;

所以,对于传统的非k8s+istio架构,您只需要按OTDD的流量录制思路,实现流量的录制并存入otddserver即可,其他完全可以重用!

不同架构下的流量录制思路

不同架构下的流量录制可以很不相同,但只要遵循于利用时间gap来建立inbound/outbound的流量关系即可。

在这里为您提供几种思路,您可以根据自己的架构进行选择。

1、nginx+php-fpm下的流量录制方法


nginx+php-fpm下的流量串行转发

其思路下:

a.摘掉一台nginx流量(或者新增一台nginx),作为录制机。

b.选取一台nginx,安装串行转发逻辑转发到录制机。

c.在录制机上面用tcpdump录制流量。

2、直接应用内转发的流量录制方法


直接应用内串行转发流量

其思路下:

a.摘掉一台service流量(或者新增一台service),作为录制机。

b.选取一台service,应用特殊串行转发逻辑转发到录制机。

c.在录制机上面用tcpdump录制流量。

3、gateway层转发的流量录制方法


直接在gateway层串行转发流量

其思路下:

a.选取一台service,作为录制机

b.直接在gateway层部署特殊串行转发逻辑转发到录制机

c.在录制机上面用tcpdump录制流量

为此,OTDD配置了如下模块来支持传统架构下OTDD的应用:

1、otdd-tcpdump-parser

可将上述录制下来的tcpdump文件,解析并通过grpc存储到otddserver!

其github: https://github.com/otdd/otdd-tcpdump-parser

2、nginx-redirector-example

运行在nginx下的lua脚本,朋友们可以作为参考结合各自的架构来进行流量的串行转发。

其github: https://github.com/otdd/nginx-redirector-example

上一篇 下一篇

猜你喜欢

热点阅读