> Just use names in the configuration. You mean local DNS?
Best regards, Dmitriy Shalashov 2015-02-12 17:53 GMT+03:00 Maxim Dounin <[email protected]>: > Hello! > > On Thu, Feb 12, 2015 at 05:19:46PM +0300, Дмитрий Шалашов wrote: > > > Ok, thanks. > > > > Can you imagine any other viable way to pass some information to each > > server? It doesn't need to change between server restarts. > > I may use a distinct variable for each of them but this seems ugly and > > error-prone... > > You may want to rethink what you are trying to do. In this > particular case the whole task seems to be unneeded, see below. > > > In case you are curious why would I need this, let me explain. > > Upstream directive support "hash consistent" method and in that case it > > uses `ketama` algorithm. That means that each server assigned a key and > > depending on its value (actually hash of that value) each server mapped > to > > a multiple points on the ketama ring. So far so good. > > Documentation says that keys distribution is compatible with Perl > > Cache::Memcached::Fast module. And that means that key for each server is > > "$ip\0$port" (or something else for unix sockets, doesn't matter). > > This means that if server ip changes, position of server points on ketama > > ring will change too. Now, I'm balancing via this upstream not memcacheds > > or other rather ephemeral storages but files. Each server in the upstream > > have a hundreds of gigabytes of files. And I would like to avoid > > rebalancing all these files in case of public ip changes. > > So my idea was to pass a key for each server via parameter. Actually, to > > preserve compatibility with current keys, I would pass a base64 of > > "$ip\0$port" value, decode it during module init and happily use it for > > ketama purposes. And be safe against servers redeployments. > > Just use names in the configuration. Both Cache::Memcached::Fast > and nginx will happily use names of servers and will derive > Ketama points from names, not IP-addresses. That is, key > distribution will stay the same as long as you don't change names > configured, regardless of IP-addresses. > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-devel mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx-devel >
_______________________________________________ nginx-devel mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-devel
