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。

posted @ 2020-04-24 12:25  番茄土豆西红柿  阅读(179)  评论(0编辑  收藏  举报
TOP