title: Difference between replicas and virtual nodes in consistent hashing
body: <p>This is perhaps specific to an implementation that I'm looking at (<a href="https://github.com/3rd-Eden/node-hashring" rel="noreferrer">node-hashring</a>), but what is the difference between virtual nodes (vnodes) and replicas in a consistent hash ring?</p>
  
  <p>The original <a href="https://www.akamai.com/us/en/multimedia/documents/technical-publication/consistent-hashing-and-random-trees-distributed-caching-protocols-for-relieving-hot-spots-on-the-world-wide-web-technical-publication.pdf" rel="noreferrer">Akamai paper</a> does not seem to describe vnodes explicitly, and various other sources seem to use the two terms interchangeably (e.g. <em>"<strong>virtual nodes</strong>", which are <strong>replicas</strong> of cache points in the circle</em>, from <a href="http://www.tom-e-white.com/2007/11/consistent-hashing.html" rel="noreferrer">source</a>).</p>
  
  <p>The docs for node-hashring give the example <em>40 hashes (vnodes) and 4 replicas per hash = 160 points per server</em>. Despite reading the source, I can't quite figure out what these two different parameters do.</p>