discovery

package
v0.0.0-...-f03d92c Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetTestEtcd

func GetTestEtcd(t *testing.T) (*integration.ClusterV3, *clientv3.Client)

GetTestEtcd gets a test in memory etcd server

Types

type ETCDServiceDiscovery

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

func (*ETCDServiceDiscovery) AddListener

func (sd *ETCDServiceDiscovery) AddListener(listener SDListener)

AddListener adds a listener to etcd service discovery

func (*ETCDServiceDiscovery) BeforeShutdown

func (sd *ETCDServiceDiscovery) BeforeShutdown()

BeforeShutdown executes before shutting down and will remove the server from the list

func (*ETCDServiceDiscovery) GetServer

func (sd *ETCDServiceDiscovery) GetServer(id string) (*common.Server, error)

GetServer returns a server given it's id

func (*ETCDServiceDiscovery) GetServers

func (sd *ETCDServiceDiscovery) GetServers() []*common.Server

GetServers returns a slice with all the servers

func (*ETCDServiceDiscovery) GetServersByType

func (sd *ETCDServiceDiscovery) GetServersByType(serverType string) (map[string]*common.Server, error)

GetServersByType returns a slice with all the servers of a certain type

func (*ETCDServiceDiscovery) InitETCDClient

func (sd *ETCDServiceDiscovery) InitETCDClient() error

func (*ETCDServiceDiscovery) Shutdown

func (sd *ETCDServiceDiscovery) Shutdown() error

Shutdown executes on shutdown and will clean etcd

func (*ETCDServiceDiscovery) Start

func (sd *ETCDServiceDiscovery) Start() error

Init starts the service discovery client

func (*ETCDServiceDiscovery) Stop

func (sd *ETCDServiceDiscovery) Stop()

func (*ETCDServiceDiscovery) SyncServers

func (sd *ETCDServiceDiscovery) SyncServers(firstSync bool) error

SyncServers gets all servers from etcd

type EtcdServiceDiscoveryConfig

type EtcdServiceDiscoveryConfig struct {
	Endpoints   []string
	User        string
	Pass        string
	DialTimeout time.Duration
	Prefix      string
	Heartbeat   struct {
		TTL time.Duration
		Log bool
	}
	SyncServers struct {
		Interval    time.Duration
		Parallelism int
	}
	Revoke struct {
		Timeout time.Duration
	}
	GrantLease struct {
		Timeout       time.Duration
		MaxRetries    int
		RetryInterval time.Duration
	}
	Shutdown struct {
		Delay time.Duration
	}
	ServerTypesBlacklist []string
}

EtcdServiceDiscoveryConfig Etcd service discovery config

func NewDefaultEtcdServiceDiscoveryConfig

func NewDefaultEtcdServiceDiscoveryConfig() *EtcdServiceDiscoveryConfig

NewDefaultEtcdServiceDiscoveryConfig Etcd service discovery default config

func NewEtcdServiceDiscoveryConfig

func NewEtcdServiceDiscoveryConfig(cfgFile *config.Config) *EtcdServiceDiscoveryConfig

NewEtcdServiceDiscoveryConfig Etcd service discovery config with default config paths

type SDListener

type SDListener interface {
	AddServer(*common.Server)
	RemoveServer(*common.Server)
}

监听服务器变化 SDListener interface

type ServiceDiscovery

type ServiceDiscovery interface {
	GetServersByType(serverType string) (map[string]*common.Server, error)
	GetServer(id string) (*common.Server, error)
	GetServers() []*common.Server
	SyncServers(firstSync bool) error
	AddListener(listener SDListener)

	Start() error
	Stop()
}

ServiceDiscovery is the interface for a service discovery client

func NewEtcdServiceDiscovery

func NewEtcdServiceDiscovery(
	config *EtcdServiceDiscoveryConfig,
	server *common.Server,
	appDieChan chan bool,
	cli ...*clientv3.Client,
) (ServiceDiscovery, error)

NewEtcdServiceDiscovery ctor appDieChan 要求进程退出

Jump to

Keyboard shortcuts

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