原文由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++ libtool openssl openssl-develcd /homemkdir callback_switch[2]cd callback_switchwget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz --no-check-certificatetar zxvf pcre-8.45.tar.gzcd pcre-8.45./configuremake && make install[3]cd ..wget https://nginx.org/download/nginx-1.16.1.tar.gz --no-check-certificatetar zxvf nginx-1.16.1.tar.gzwget https://github.com/cubicdaiya/ngx_dynamic_upstream/archive/refs/tags/v0.1.6.tar.gz --no-check-certificatetar zxvf v0.1.6.tar.gz[4]make nginxbincd 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.6makemake 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 大会(上海),技术、人脉双丰收 >>>