consistent hashing for upstreams

Alexandr Gomoliako zzz at zzz.org.ua
Mon Mar 19 19:09:16 UTC 2012


> We want to load-balance multiple static file servers behind nginx, and
> basing the upstream chosen on consistent hash will drastically increase
> the filesystem cache hit ratios the back-end servers, while preventing a
> "thundering herd" issue when one fails. Basically you get to use all of
> your RAM amongst the back ends for cache, rather than having the same
> objects in the cache of multiple back end servers.
>
> I thought of trying to use map directives and regexes to pick a back
> end, but handling weighting and failover makes this a complex and
> therefore brittle approach. Could consistent hashing for upstreams be
> achieved with embedded lua or perl?

Here's a simple approach on consistent hashing with embedded perl:
    https://gist.github.com/2124034



More information about the nginx mailing list