ngx_http_upstream_dynamic_module

此模块提供了在运行时动态解析upstream中server域名的功能。

  1. upstream backend {
    dynamic_resolve fallback=stale fail_timeout=30s;

    server a.com;
    server b.com;
    }

    server {
    ...

    location / {
    proxy_pass http://backend;
    }
    }

指令

Syntax: dynamic_resolve [fallback=stale|next|shutdown] [fail_timeout=time]Default: -Context: upstream.

指定在某个upstream中启用动态域名解析功能。

fallback参数指定了当域名无法解析时采取的动作:

  1. fail_timeout参数指定了将DNS服务当做无法使用的时间,也就是当某次DNS请求失败后,假定后续多长的时间内DNS服务依然不可用,以减少对无效DNS的查询。

原文: http://tengine.taobao.org/document_cn/http_upstream_dynamic_cn.html