diffy做流量比对的实践和样例

简介: 因为要想做这个流量比对,那得有前端代码,后端代码,nginx,测试同学想要熟悉diffy的功能,需要有修改前后端代码的能力,我们的AIMP项目部署起来相对复杂,所以我编写了一个小项目,用于同学们测试。

例子代码的简单介绍

因为要想做这个流量比对,那得有前端代码,后端代码,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;
    }

业务实践图下载.png前端代码安装

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='zhenwei.li@sfere-elec.com' \
    -proxy.port=:8880 \
    -admin.port=:8881 \
    -http.port=:8888 \
    -allowHttpSideEffects=true \
    -rootUrl=localhost:8888

使用截图image2020-5-22_11-46-32.png

Image-1-3-1024x342.pngimage2020-5-22_11-49-4.pngimage2020-5-22_11-50-19-1024x275.pngimage2020-5-22_11-52-38.pngimage2020-5-22_11-54-45.pngimage2020-5-22_11-56-9.png

相关文章
AI尝鲜:dify搭建AI对话机器人
本实验介绍如何在Dify中设置知识库并创建智能应用作为对话机器人,实现AI对话功能。例如查询电动汽车电池过充电保护试验的环境温度条件。实验步骤包括:一、安装Dify并通过计算巢部署;二、设置模型供应商,选择通义千问并配置API KEY;三、创建知识库,导入文件并设置文本分段与清洗规则;四、创建智能体,添加知识库和模型;五、与智能体对话,测试查询功能。通过这些步骤,您可以构建一个基于专有知识库的AI对话系统。
weixin049校园外卖平台设计与实现+ssm(文档+源码)_kaic
本文介绍了一款校园外卖平台的设计与实现过程。该平台采用Java的SSM框架进行后台管理开发,使用MySQL作为本地数据库,并通过微信小程序为用户提供便捷的操作界面。系统包括管理员、用户和商家三个角色,功能涵盖个人中心、用户及商家管理、菜品分类与信息管理、订单处理等。管理员可在浏览器上登录管理后台数据,用户与商家则通过微信小程序注册登录,分别实现订餐与菜品管理功能。此平台具备界面清晰、操作简单、功能齐全的特点,有助于提升校园外卖管理的效率与规范性。
|
9月前
|
如何快速上手?揭秘通过DevEco Studio创建ArkTS项目的全过程
【10月更文挑战第18天】本文详细介绍了如何通过DevEco Studio创建并配置一个ArkTS项目,包括安装DevEco Studio、创建新项目、编写简单的ArkTS代码、配置项目元数据以及运行项目等步骤,帮助鸿蒙系统开发者快速上手。
621 8
异步&线程池 CompletableFuture 异步编排 实战应用 【终结篇】
这篇文章通过一个电商商品详情页的实战案例,展示了如何使用`CompletableFuture`进行异步编排,以解决在不同数据库表中查询商品信息的问题,并提供了详细的代码实现和遇到问题(如图片未显示)的解决方案。
异步&线程池 CompletableFuture 异步编排 实战应用 【终结篇】
C语言内存四区详解
C语言内存四区详解
591 0
阿里云端口开放操作步骤和注意事项
阿里云端口开放操作步骤和注意事项,阿里云服务器端口怎么打开?云服务器ECS端口在安全组中开启,轻量应用服务器端口在防火墙中打开,阿里云服务器网以80端口为例,来详细说下阿里云服务器端口开放图文教程,其他的端口如8080、3306、443、1433也是同样的方法进行开启端口:
730 0
DCDN助力企业灰度上云产品实践
提起CDN,大家想到的字眼可能是缓存、转发、调度,用来提升终端用户体验、保护源站IP、降低源站流量风险,同时可以将源站的应用功能卸载到边缘,进一步释放边缘算力满足业务需求。DCDN脱胎于CDN,面向动态元素,通过智能路由、协议优化、压缩传输等手段,将转发场景的性能提到极限,广泛应用于电商、游戏、政企等行业。在互联网蓬勃发展,传统企业寻求数字化转型机会的今天,DCDN作为流量的入口,搭配灵活易扩展的“高级条件”及“EdgeScript”,可以通过流量转发这一技术手段,实现客户上云的“安全灰度”。
DCDN助力企业灰度上云产品实践
【周末闲谈】二进制VS三进制
【周末闲谈】二进制VS三进制
824 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问