|
|
@@ -13,26 +13,26 @@ Usage |
|
|
|
|
|
|
|
``` |
|
|
|
// virtualSpots means virtual spots created by each node |
|
|
|
nodeWeight := make(map[string]int) |
|
|
|
nodeWeight["node1"] = 1 |
|
|
|
nodeWeight["node2"] = 1 |
|
|
|
nodeWeight["node3"] = 2 |
|
|
|
vitualSpots := 100 |
|
|
|
hash := NewHashRing(virtualSpots) |
|
|
|
nodeWeight := make(map[string]int) |
|
|
|
nodeWeight["node1"] = 1 |
|
|
|
nodeWeight["node2"] = 1 |
|
|
|
nodeWeight["node3"] = 2 |
|
|
|
vitualSpots := 100 |
|
|
|
hash := NewHashRing(virtualSpots) |
|
|
|
|
|
|
|
|
|
|
|
//add nodes |
|
|
|
hash.AddNodes(nodeWeight) |
|
|
|
//add nodes |
|
|
|
hash.AddNodes(nodeWeight) |
|
|
|
|
|
|
|
//remove node |
|
|
|
hash.RemoveNode("node3") |
|
|
|
//remove node |
|
|
|
hash.RemoveNode("node3") |
|
|
|
|
|
|
|
|
|
|
|
//add node |
|
|
|
hash.AddNode("node3", 3) |
|
|
|
//add node |
|
|
|
hash.AddNode("node3", 3) |
|
|
|
|
|
|
|
|
|
|
|
//get key's node |
|
|
|
node := hash.GetNode("key") |
|
|
|
//get key's node |
|
|
|
node := hash.GetNode("key") |
|
|
|
|
|
|
|
``` |