node

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package node provides node selector for liaison.

Index

Constants

This section is empty.

Variables

View Source
var (

	// ErrNoAvailableNode will be returned if no node is available.
	ErrNoAvailableNode = errors.New("selector: no available node")
)

Functions

This section is empty.

Types

type Selector

type Selector interface {
	AddNode(node *databasev1.Node)
	RemoveNode(node *databasev1.Node)
	Pick(group, name string, shardID uint32) (string, error)
}

Selector keeps all data nodes in the memory and can provide different algorithm to pick an available node.

func NewMaglevSelector

func NewMaglevSelector() (Selector, error)

NewMaglevSelector creates a new backend selector based on Maglev hashing algorithm.

func NewPickFirstSelector

func NewPickFirstSelector() (Selector, error)

NewPickFirstSelector returns a simple selector that always returns the first node if exists.

Jump to

Keyboard shortcuts

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