hit9 / ketama

Package ketama implements a consistent hashing ring (long term maintenance).

Home Page:https://pkg.go.dev/github.com/hit9/ketama

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ketama

Package ketama implements a consistent hashing ring (on md5).

https://pkg.go.dev/github.com/hit9/ketama

Example

package main

import (
	"fmt"
	"github.com/hit9/ketama"
)

func main() {
	ring := ketama.NewRing([]*ketama.Node{
		ketama.NewNode("127.0.0.1:8000", "binding data0", 1),
		ketama.NewNode("127.0.0.1:8001", "binding data1", 1),
		ketama.NewNode("127.0.0.1:8002", "binding data2", 1),
		ketama.NewNode("127.0.0.1:8003", "binding data3", 1),
		ketama.NewNode("127.0.0.1:8004", "binding data3", 1),
	})
	fmt.Printf("%v\n", ring.Get("key1"))
}

Please checkout ketama_example.go for more .

Links

License

BSD.

About

Package ketama implements a consistent hashing ring (long term maintenance).

https://pkg.go.dev/github.com/hit9/ketama

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Go 100.0%