fail_over
Resolver wrapper that queries a primary resolver first and falls back to a standby resolver when needed.
At runtime the result is chosen with the following rules:
The success result of the primary resolver will always be used before the timeout.
The first success result either from the primary or the standby resolver will be used after the timeout.
If no resolver returns a successful result, the last error is used.
The following common keys are supported:
The config loader rejects using the same resolver name for both primary and
standby.
primary
required, type: string
Primary resolver.
standby
required, type: string
Standby resolver.
fallback_delay
optional, type: humanize duration, alias: delay, fallback_timeout, timeout
Timeout before the standby resolver is allowed to participate.
default: 100ms
negative_ttl
optional, type: u32, alias: protective_cache_ttl
Time-to-Live (TTL) for negative caching of failed DNS lookups.
default: 30
retry_empty_record
optional, type: bool
Controls whether a fallback query should be attempted when the first answer contains no IP addresses.
default: false
Example
primary: hickory-main
standby: c-ares-backup
fallback_delay: 250ms
negative_ttl: 30
retry_empty_record: true
Added in version 1.7.13.