chash

package
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Init added in v0.9.0

func Init() error

Types

type HashingBalancer

type HashingBalancer struct {
	// contains filtered or unexported fields
}

HashingBalancer implements a consistent hashing balancer using the consistent package.

func NewBalancer

func NewBalancer(proxies []proxy.Proxy, hashon string, replicas int) *HashingBalancer

NewBalancer creates a new HashingBalancer instance. It uses the consistent hashing package for better distribution and performance. Each proxy's virtual nodes are scaled by its Weight() to achieve weight-based distribution.

func (*HashingBalancer) Proxies

func (b *HashingBalancer) Proxies() []proxy.Proxy

Proxies returns the list of proxies managed by the balancer.

func (*HashingBalancer) Select

Select picks a proxy from the hash ring based on a hashed value from the request. If the selected proxy is unavailable, it tries the next nodes on the ring.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL