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@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@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx