chash

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 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

Init registers the hashing balancers.

Types

type Balancer added in v0.10.0

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

Balancer implements a consistent hashing load balancing strategy.

func NewBalancer

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

NewBalancer creates a new consistent hashing Balancer 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 (*Balancer) Proxies added in v0.10.0

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

Proxies returns the list of proxies managed by the balancer.

func (*Balancer) Select added in v0.10.0

func (b *Balancer) Select(_ context.Context, c *app.RequestContext) (proxy.Proxy, error)

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