discover

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2023 License: LGPL-3.0 Imports: 22 Imported by: 0

README

数据中心内部服务发现包

基于ETCD实现

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Callback

type Callback interface {
	UpdateEndpoints(endpoints ...*config.Endpoint)
	//when watch occurred error,will exec this method
	Error(error)
}

Callback 每次返回全部节点

type CallbackUpdate

type CallbackUpdate interface {
	//TODO:
	//weight自动发现更改实现暂时不 Ready
	UpdateEndpoints(operation config.Operation, endpoints ...*config.Endpoint)
	//when watch occurred error,will exec this method
	Error(error)
}

CallbackUpdate 每次返还变化

type Discover

type Discover interface {
	// Add project to cache if not exists, then watch the endpoints.
	AddProject(name string, callback Callback)
	// Update a project.
	AddUpdateProject(name string, callback CallbackUpdate)
	Stop()
}

Discover 后端服务自动发现

func GetDiscover

func GetDiscover(opt config.DiscoverConfig) (Discover, error)

GetDiscover 获取服务发现管理器

func NewK8sDiscover

func NewK8sDiscover(ctx context.Context, clientset kubernetes.Interface, cfg *option.Conf) Discover

NewK8sDiscover creates a new Discover

type KeepAlive

type KeepAlive struct {
	EtcdClientArgs *etcdutil.ClientArgs
	ServerName     string
	HostName       string
	Endpoint       string
	TTL            int64
	LID            clientv3.LeaseID
	Done           chan struct{}
	// contains filtered or unexported fields
}

KeepAlive 服务注册

func CreateKeepAlive

func CreateKeepAlive(etcdClientArgs *etcdutil.ClientArgs, ServerName string, Protocol string, HostIP string, Port int) (*KeepAlive, error)

CreateKeepAlive create keepalive for server

func (*KeepAlive) Start

func (k *KeepAlive) Start() error

Start 开始

func (*KeepAlive) Stop

func (k *KeepAlive) Stop()

Stop 结束

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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