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

原文由JoyMao发表于TesterHome社区网站,点击原文链接可与作者直接交流

这个是简单的措施来解决外部系统回调测试环境时面临多套环境的方法。

背景:

部门有10套测试环境并发,每套环境都有一些同样的应用来接受外网或者内网内的其他系统的webhook回调处理,但回调地址只能有一个:每次版本变化,对应应用ip都会发生变化,需要及时去修改,存在管理混乱的问题。

过程

解决的方法很多,比如服务化、proxy、k8s…复杂度不一,不改动现有测试发布环境的基础上,利用proxy是最方便的,但需要提供方便改动proxy转发的方式。
这时候nginx的dynamic_upstream插件就能解决,他提供http接口来管理upstream(server的加、删、上线、下线),非常方便。
我们要做的就是在发布系统中建立一个管理页面来管理,结构如下:

此插件比较古老(古老不代表过时),github地址:https://github.com/cubicdaiya/ngx_dynamic_upstream
readme中有具体的API,这里就不再粘贴了。

附:安装插件及nginx过程(centos为例)

[1]
yum -y install make zlib zlib-devel gcc-c++ libtool  openssl 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社区网站,点击原文链接可与作者直接交流


今日份的知识已摄入,埋头学技术也不忘抬头看路 >>>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值