Selection of server in upstream directive using hash
Ruben
rdocter at gmail.com
Mon Oct 9 09:51:54 UTC 2017
First of all thanks for your reply. But what happens if I have for example
a hostname: test, which resolves to a randomized list of multiple ip's.
Such that when I do:
dig test
10.0.0.8
10.0.0.9
10.0.0.10
and a few moments later
dig test
10.0.0.10
10.0.0.8
10.0.0.9
Is it then still consistent on the ip's or is the consistency just on the
name "test" in this case?
>From the docs I read that it resolves the hostname and injects the ip's as
server when multiple ip's are returned. But it's not completely clear on
which the hash is acting.
I am asking this, because docker constantly returns a randomized fixed list
of ip's (for dns load balancing). But I always want to route a user,
targetting for some url, to the same container.
2017-10-09 11:25 GMT+02:00 Roman Arutyunyan <arut at nginx.com>:
> Hi Ruben,
>
> On Mon, Oct 09, 2017 at 09:33:55AM +0200, Ruben wrote:
> > I was wondering what the selection algorithm is for choosing a server in
> > the upstream directive using hash. Is the selection based on the ip of
> the
> > server or is it based on the position of the list.
> >
> > So if I have for example the following configuration:
> >
> > upstream test {
> > hash $arg_test;
> > server 10.0.0.10;
> > server 10.0.0.9;
> > server 10.0.0.8;
> > }
> >
> > or (ip's in different order)
> >
> > upstream chat {
> > hash $arg_test;
> > server 10.0.0.8;
> > server 10.0.0.9;
> > server 10.0.0.10;
> > }
> >
> > If someone is targeting an url with ?test=1, is it in both configs
> directed
> > to the same ip or not. So is the selection based on the ip or based omn
> the
> > position in the list.
>
> The regular (non-consistent) hash balancer selects a server based on the
> position in the list. However, the consistent hash balancer
> (hash $arg_test consistent) makes a selection based on the server name/ip
> specified in the "server" directive.
>
> --
> Roman Arutyunyan
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20171009/d4afba60/attachment.html>
More information about the nginx
mailing list