Passive healthcheck for UDP
arut at nginx.com
Mon Apr 24 17:46:10 UTC 2017
On Mon, Apr 24, 2017 at 05:58:34PM +0200, Sékine Coulibaly wrote:
> I'm gathering some information regarding UDP load balancing. I've come
> accross this in
> https://www.nginx.com/resources/admin-guide/udp-health-check/ and I'm quite
> puzzled :
> "NGINX can mark the server as unavailable and stop sending UDP datagrams to
> it for some time if the server replies with an error or times out.
> The number of consecutive failed connection attempts within a certain time
> period is set with the max_fails parameter for an upstream server (default
> value is 1)."
> What is unclear to me is the "failed connection attempt" term.
Thanks for spotting this, we'll fix the documentation.
This phrase obviously came from TCP.
> UDP being a
> connectionless protocol, it's unclear what is the actual method used by
> NGINX to decide whether a passive health check is successfull or not. Would
> the existence of traffic from server to Nginx be a sign of success or are
> other methods involved ?
A UDP session is considered unsuccessful if
- a UDP socket I/O error happened, usually as a result of an ICMP error report
- proxied server did not send the response within proxy_timeout if
proxy_responses is set. If it's unset, this error can never happen.
More information about the nginx