|
3 years ago | |
---|---|---|
README.md | 3 years ago | |
hashring.go | 5 years ago | |
hashring_test.go | 7 years ago |
A golang consistent hashring
go get golib.gaore.com/GaoreGo/hashring
// 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)
//add nodes
hash.AddNodes(nodeWeight)
//remove node
hash.RemoveNode("node3")
//add node
hash.AddNode("node3", 3)
//get key's node
node := hash.GetNode("key")