Using DNS for Service Discovery with NGINX and NGINX Plus
参考:https://www.nginx.com/blog/dns-service-discovery-nginx-plus/
haproxy参考:https://www.haproxy.com/blog/dns-service-discovery-haproxy/
另外的解决办法是修改了DNS解析后,进行nginx -s reload重启操作
最简单的解决方法,我想到如下几种:
执行 nginx reload
这种方法优缺点都很明显:
优点:操作简单。
缺点:属于我们常说的后手,需要做好监控。
配置resolver
可以通过在nginx中配置resolver来动态更新解析,大致做法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
server { listen 80; server_name ligang.gdemo.com; resolver 8.8.8.8 valid=60s; resolver_timeout 3s; set $gproxy "ligang.proxy.gdemo.com"; location / { proxy_pass http://$gproxy; } } |
这个方法优缺点如下:
优点:解析地址每隔一段时间自动更新,无需人工做 nginx reload 。
缺点:需要指定DNS服务器地址,如果这个服务器挂了,或是地址变了,则需要修改nginx配置后reload。
做有积累的事~~