例子代碼的簡單介紹
因為要想做這個流量比對,那得有前端代碼,後端代碼,nginx,測試同學想要熟悉diffy的功能,需要有修改前後端代碼的能力,我們的AIMP項目部署起來相對複雜,是以我編寫了一個小項目,用于同學們測試。
1.前端代碼 vue架構:
https://gitee.com/li_shuai520/diffy.example.frontend.git。提供一個頁面,有輸入框和按鈕,供使用者輸入和觸發http請求到後端
2.後端代碼python3:
https://gitee.com/li_shuai520/diffy.example.backend.git。裡面包含4段代碼,4段代碼都運作起來,會占用5000,50001,5002,5003端口
3.nginx關鍵配置如下:
192.168.0.240 是運作diffy機器的IP,192.168.1.5是運作我本機的IP
location /api {
mirror /mirror;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://192.168.1.5:5000/getMsg;
}
location = /mirror {
internal;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://192.168.0.240:8880/getMsg;
}
業務實踐圖
diffy做流量比對的實踐和樣例例子代碼的簡單介紹 前端代碼安裝

1.把前端代碼下載下傳到本地,修改src\components\Lzw.vue裡的const path 為自己的nginx背景路徑
1.運作指令npm install ,npm run build。産生dist目錄
2.把dist目錄裡的檔案複制到nginx的/usr/share/nginx/html目錄下
nginx配置
1.修改/etc/nginx/conf.d/default.conf。配置後端反向代理和流量鏡像
後端代碼安裝
把4個代碼run就完事了。new_code和old_code的差別,就在/getMsg這個接口的get請求的非傳回結果中,多了一個“new”:随機數 。我們的目标,就是diffy要能比較并告訴我們,這個new在新老代碼中是不同的
new_code有2個一樣的,占用了5000和5001
old_code也有2個一樣的,占用了5002和5003
diffy用docker安裝
其中192.168.1.5是我自己電腦的IP位址
docker run -ti \
-p 8880:8880 -p 8881:8881 -p 8888:8888 \
diffy/diffy \
-candidate=192.168.1.5:5001 \
-master.primary=192.168.1.5:5002 \
-master.secondary=192.168.1.5:5003 \
-service.protocol=http \
-serviceName="Test-Service" \
-summary.email='[email protected]' \
-proxy.port=:8880 \
-admin.port=:8881 \
-http.port=:8888 \
-allowHttpSideEffects=true \
-rootUrl=localhost:8888
使用截圖
diffy做流量比對的實踐和樣例例子代碼的簡單介紹
使用截圖