Passive healthcheck for UDP

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Passive healthcheck for UDP

Sékine Coulibaly
Hi,

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. 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 ?

Thank you

SC


_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx
Reply | Threaded
Open this post in threaded view
|

Re: Passive healthcheck for UDP

Roman Arutyunyan
Hi

On Mon, Apr 24, 2017 at 05:58:34PM +0200, Sékine Coulibaly wrote:

> Hi,
>
> 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.

--
Roman Arutyunyan
_______________________________________________
nginx mailing list
[hidden email]
http://mailman.nginx.org/mailman/listinfo/nginx