OTDD可應用于傳統(tǒng)架構(gòu)
繼上一篇文章《流量回放神器-OTDD》發(fā)布后鸭蛙,獲得強烈的反響君仆,文章收藏率持續(xù)保持在25%以上铃岔,側(cè)面說明了OTDD的歡迎程度!
但同時门岔,由于OTDD的設計直接面向于目前最火的云原生/Service Mesh架構(gòu)爱致,也即k8s+istio架構(gòu),又有不少朋友私信問我寒随,OTDD能否應用在傳統(tǒng)架構(gòu)上糠悯?答案是,當然能妻往!
OTDD兩塊兒核心的內(nèi)容:
1互艾、流量的錄制
2、流量的回放
其中讯泣,除了流量的錄制和具體的架構(gòu)有關外纫普,流量的回放是完全可復用的!
OTDD的頂層設計
OTDD的頂層設計總共包含3個主要的模塊
1好渠、流量錄制組件:和您具體的架構(gòu)有關昨稼,OTDD默認提供k8s+istio下的流量錄制;
2拳锚、otddserver:可獨立部署悦昵,負責流量的存儲、對接otdd-test-runner的請求晌畅,以及對流量的查看但指、編輯、回放選擇抗楔、查看報告等棋凳。大部分的用戶操作將在otddserver的web頁面進行;
3连躏、otdd-test-runner:可以docker方式/linux service方式運行剩岳,和您開發(fā)環(huán)境有關;
所以入热,對于傳統(tǒng)的非k8s+istio架構(gòu)拍棕,您只需要按OTDD的流量錄制思路晓铆,實現(xiàn)流量的錄制并存入otddserver即可,其他完全可以重用绰播!
不同架構(gòu)下的流量錄制思路
不同架構(gòu)下的流量錄制可以很不相同骄噪,但只要遵循于利用時間gap來建立inbound/outbound的流量關系即可。
在這里為您提供幾種思路蠢箩,您可以根據(jù)自己的架構(gòu)進行選擇链蕊。
1、nginx+php-fpm下的流量錄制方法
其思路下:
a.摘掉一臺nginx流量(或者新增一臺nginx)谬泌,作為錄制機滔韵。
b.選取一臺nginx,安裝串行轉(zhuǎn)發(fā)邏輯轉(zhuǎn)發(fā)到錄制機掌实。
c.在錄制機上面用tcpdump錄制流量陪蜻。
2、直接應用內(nèi)轉(zhuǎn)發(fā)的流量錄制方法
其思路下:
a.摘掉一臺service流量(或者新增一臺service)贱鼻,作為錄制機囱皿。
b.選取一臺service,應用特殊串行轉(zhuǎn)發(fā)邏輯轉(zhuǎn)發(fā)到錄制機忱嘹。
c.在錄制機上面用tcpdump錄制流量嘱腥。
3、gateway層轉(zhuǎn)發(fā)的流量錄制方法
其思路下:
a.選取一臺service拘悦,作為錄制機
b.直接在gateway層部署特殊串行轉(zhuǎn)發(fā)邏輯轉(zhuǎn)發(fā)到錄制機
c.在錄制機上面用tcpdump錄制流量
為此齿兔,OTDD配置了如下模塊來支持傳統(tǒng)架構(gòu)下OTDD的應用:
1、otdd-tcpdump-parser
可將上述錄制下來的tcpdump文件础米,解析并通過grpc存儲到otddserver分苇!
其github: https://github.com/otdd/otdd-tcpdump-parser
2、nginx-redirector-example
運行在nginx下的lua腳本屁桑,朋友們可以作為參考結(jié)合各自的架構(gòu)來進行流量的串行轉(zhuǎn)發(fā)医寿。
其github: https://github.com/otdd/nginx-redirector-example