discovery

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package discovery defines some interfaces and implementations for service discovery

Index

Constants

This section is empty.

Variables

View Source
var ErrNoHosts = errors.New("no hosts available")

Functions

func RegisterSubscriberFactory

func RegisterSubscriberFactory(name string, sf SubscriberFactory) error

Types

type Balancer

type Balancer interface {
	Host() (string, error)
}

func NewBalancer

func NewBalancer(subscriber Subscriber) Balancer

func NewRandomLB

func NewRandomLB(subscriber Subscriber) Balancer

func NewRoundRobinLB

func NewRoundRobinLB(subscriber Subscriber) Balancer

type FixedSubscriber

type FixedSubscriber []string

func (FixedSubscriber) Hosts

func (s FixedSubscriber) Hosts() ([]string, error)

type Register

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

func GetRegister

func GetRegister() *Register

func (*Register) Get

func (r *Register) Get(name string) SubscriberFactory

func (*Register) Register

func (r *Register) Register(name string, sf SubscriberFactory) error

type Subscriber

type Subscriber interface {
	Hosts() ([]string, error)
}

func FixedSubscriberFactory

func FixedSubscriberFactory(cfg *config.Backend) Subscriber

func GetSubscriber

func GetSubscriber(cfg *config.Backend) Subscriber

type SubscriberFactory

type SubscriberFactory func(*config.Backend) Subscriber

type SubscriberFunc

type SubscriberFunc func() ([]string, error)

func (SubscriberFunc) Hosts

func (f SubscriberFunc) Hosts() ([]string, error)

Directories

Path Synopsis
Package dns defines some implementations for a dns based service discovery
Package dns defines some implementations for a dns based service discovery

Jump to

Keyboard shortcuts

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