天天看點

diffy做流量比對的實踐和樣例例子代碼的簡單介紹

例子代碼的簡單介紹

因為要想做這個流量比對,那得有前端代碼,後端代碼,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做流量比對的實踐和樣例例子代碼的簡單介紹

diffy做流量比對的實踐和樣例例子代碼的簡單介紹
diffy做流量比對的實踐和樣例例子代碼的簡單介紹
diffy做流量比對的實踐和樣例例子代碼的簡單介紹
diffy做流量比對的實踐和樣例例子代碼的簡單介紹
diffy做流量比對的實踐和樣例例子代碼的簡單介紹
diffy做流量比對的實踐和樣例例子代碼的簡單介紹