This PR replaces the internal libring usage with Discord's hash ring.
The libring library appears to be significantly slower in my (admittedly basic) tests, but having Discord's name behind the library we're switching to is also quite compelling. There are also some compatibility concerns with libring (such as breaking the build with latest OTP) so I went with the 100% Elixir implementation.
Nobody is using the Ring router yet, so this is not a breaking change.
This PR replaces the internal
libring
usage with Discord's hash ring.The
libring
library appears to be significantly slower in my (admittedly basic) tests, but having Discord's name behind the library we're switching to is also quite compelling. There are also some compatibility concerns withlibring
(such as breaking the build with latest OTP) so I went with the 100% Elixir implementation.Nobody is using the Ring router yet, so this is not a breaking change.