利用简单方法解决外部系统回调测试环境,多套环境便捷切换

原文由JoyMao发表于TesterHome社区网站,点击原文链接可与作者直接交流
这个是简单的措施来解决外部系统回调测试环境时面临多套环境的方法。
背景:
部门有10套测试环境并发,每套环境都有一些同样的应用来接受外网或者内网内的其他系统的webhook回调处理,但回调地址只能有一个:每次版本变化,对应应用ip都会发生变化,需要及时去修改,存在管理混乱的问题。
过程
解决的方法很多,比如服务化、proxy、k8s...复杂度不一,不改动现有测试发布环境的基础上,利用proxy是最方便的,但需要提供方便改动proxy转发的方式。
这时候nginx的dynamic_upstream插件就能解决,他提供http接口来管理upstream(server的加、删、上线、下线),非常方便。
我们要做的就是在发布系统中建立一个管理页面来管理,结构如下:
利用简单方法解决外部系统回调测试环境,多套环境便捷切换
文章图片

此插件比较古老(古老不代表过时),github地址:https://github.com/cubicdaiya...
readme中有具体的API,这里就不再粘贴了。
附:安装插件及nginx过程(centos为例)
[1] yum -y install make zlib zlib-devel gcc-c++ libtoolopenssl openssl-devel cd /home mkdir callback_switch [2] cd callback_switch wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz --no-check-certificate tar zxvf pcre-8.45.tar.gz cd pcre-8.45 ./configure make && make install [3] cd .. wget https://nginx.org/download/nginx-1.16.1.tar.gz --no-check-certificate tar zxvf nginx-1.16.1.tar.gz wget https://github.com/cubicdaiya/ngx_dynamic_upstream/archive/refs/tags/v0.1.6.tar.gz --no-check-certificate tar zxvf v0.1.6.tar.gz [4] make nginxbin cd nginx-1.16.1 ./configure --prefix=/home/callback_switch/nginxbin --with-http_stub_status_module --with-http_ssl_module --with-pcre=/home/callback_switch/pcre-8.45 --add-module=/home/callback_switch/ngx_dynamic_upstream-0.1.6 make make install [6] ln -s /home/callback_switch/nginxbin/sbin/nginx /usr/sbin/nginx

后续优化
因为插件本身接口响应不利于UI端使用,我用go-iris重新包装了下他的http接口,配合vue-element实现对应的管理UI,实现只要配置好nginx的uptream zone后,可以十分方便的进行回调请求接收应用的设置。
利用简单方法解决外部系统回调测试环境,多套环境便捷切换
文章图片

原文由JoyMao发表于TesterHome社区网站,点击原文链接可与作者直接交流
【利用简单方法解决外部系统回调测试环境,多套环境便捷切换】利用简单方法解决外部系统回调测试环境,多套环境便捷切换
文章图片

埋头学技术也不忘抬头看路,参加第十届MTSC 大会(上海),技术、人脉双丰收 >>>
利用简单方法解决外部系统回调测试环境,多套环境便捷切换
文章图片

    推荐阅读