带虚拟节点的一致性哈希
?
/** * 这里是用来给定一个key来通过虚拟节点定位到于物理节点的逻辑 * * @param key * @return */ public INode locate(Key key) { int virtualKey = key.key2VirtualKey(); if (!this.sortedHashNode.containsKey(virtualKey)) { SortedMap<Integer, INode> sortedNodes = this.sortedHashNode.tailMap(virtualKey); if (sortedNodes.isEmpty()) { virtualKey = this.sortedHashNode.firstKey(); } else { virtualKey = sortedNodes.firstKey(); } } return this.sortedHashNode.get(virtualKey); }???