公司微服务系统都实现了双活环境(A机房和B机房),早期的时候有一次A机房环境异常,需要将流量全部切到B机房,于是将网关A机房环境的F5 disable掉,这样通过网关的调用都会走B环境的F5调用B环境的系统实例,但是切换之后发现还是有少量的请求走到了A环境的F5,且都是Nginx调用过来的
后面监察发现nginx的配置的网关的代理的写法有问题,因为nginx里面有对网关做代理,但是都是nginx启动的时候域名解析一次,也就是说不重启的化,nginx解析的网关域名永远都是一个,所以即使网关disable掉了A环境的F5,还是会有请求过去
这个时候就需要进行动态的域名解析,也就是用resolver,让nginx每隔一段时间重新对网关域名进行解析,这样才能真正实现双活时候的环境切换。
举例一个系统
敏感的信息我都用【】代替
原本的写法如下
location ^~/lcloud-xxx-yyy/ [
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP Sremote_addr,
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
prow-pass http://【网关域名】;

订阅专栏 解锁全文
4474

被折叠的 条评论
为什么被折叠?



