Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Jump hashing algorithm for metric load balancing #211

Open
trinitronx opened this issue Aug 17, 2017 · 2 comments
Open

Support Jump hashing algorithm for metric load balancing #211

trinitronx opened this issue Aug 17, 2017 · 2 comments

Comments

@trinitronx
Copy link

Once the amount of metrics fed into graphite becomes large enough, it seems that the consistent hashring algorithm does not balance very effectively across the number of carbon-cache hosts. There is an open issue on the official graphite-carbon repo detailing some user stories and data regarding the hash ring and disk space allocation across carbon nodes. Additionally, there had been a Jump hashing algorithm written in Golang that appeared to fix the issue. Not sure what the implications on the rest of graphite components would be if implemented in the relay, but since it's in Golang as carbon-relay-ng is, I thought I'd mention it.

Original issue is here: graphite-project/carbon#485
Jump hash code is here: https://github.com/dgryski/go-shardedkv/blob/475ce8b591f975aec7fb84640ac244d6bd3d7860/choosers/jump/jump.go#L27

@Dieterbe
Copy link
Contributor

Yeah at booking their stack also switched to jmp for this reason. I'll gladly accept a PR for this especially when it's compatible with other jump hashing implementations in other graphite tools

@Dieterbe
Copy link
Contributor

AFAIK carbon still hasn't solved this. But gorelka is another tool that has (background)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants