Welcome! Log In Create A New Profile

Advanced

Re: consistent hashing for upstreams

March 19, 2012 05:16PM
Alexandr Gomoliako Wrote:
> Here's a simple approach on consistent hashing
> with embedded perl:
> https://gist.github.com/2124034



Interesting. Clearly one could generate the upstream blocks via script.

The only potential issues I foresee are:
1) performance, as this perl will be called for 1000+ requests per second, and there are going to be potentially many upstream blocks. Maybe Digest::MurmurHash would help with performance instead of MD5 (it's supposedly 3x faster in Perl than Digest::MD5 while using far less state). A native hash ring implementation in C would obviously be far more performant.
2) a single backup server is problematic, but that can be fixed by adding more backups to the upstream blocks I think, or doing an error location that hashes again to find a new upstream. Not sure if a server being down would cause it to fail inside all upstream blocks it appears though, which might mean some very slow responses when a server goes offline.
3) Perl module is still marked as experimental, which scares me

I will give it a good long-term load test though, it might just be good enough!

Thanks!
--
RPM
Subject Author Posted

consistent hashing for upstreams

rmalayter March 19, 2012 12:54PM

Re: consistent hashing for upstreams

Alexandr Gomoliako March 19, 2012 03:10PM

Re: consistent hashing for upstreams

rmalayter March 19, 2012 05:16PM

Re: consistent hashing for upstreams

Alexandr Gomoliako March 19, 2012 06:10PM

Re: consistent hashing for upstreams

Joshua Zhu March 19, 2012 09:56PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 250
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready