I know cassandra uses consistent hashing for choosing the node where a key should go to, and if I understand correctly from this image https://cassandra.apache.org/doc/latest/cassandra/_images/ring.svg if the replication factor is 3 it just picks the other two nodes following the ring clockwise. I would like to know if someone can point me to where that is implemented, because I want to implement something similar for the finagle http client, the finagle library already has some implementation of partitioning using consistent hashing, but it doesn't support replication so a key only belongs to a single node, see https://github.com/twitter/util/blob/develop/util-hashing/src/main/scala/com/twitter/hashing/ConsistentHashingDistributor.scala .
Thanks.