discover

package
v2.5.7 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DecreLoad added in v2.5.6

func DecreLoad(serverId string, load int64) error

func GetServerById

func GetServerById(serverId string, args ...bool) *treaty.Server

func GetServerByType

func GetServerByType(serverType, serverArg string, args ...bool) *treaty.Server

func GetServerByTypeLoad added in v2.0.3

func GetServerByTypeLoad(serverType string, args ...bool) *treaty.Server

func GetServerList

func GetServerList(args ...bool) map[string]*treaty.Server

func GetServerTypeList

func GetServerTypeList(serverType string, args ...bool) map[string]*treaty.Server

func IncreLoad added in v2.5.6

func IncreLoad(serverId string, load int64) error

func InitDiscoverer

func InitDiscoverer(cfg config.DiscoverConf)

func RegEventHandlers

func RegEventHandlers(handlers ...EventHandler)

func Register

func Register(server *treaty.Server) error

func UnRegister

func UnRegister(server *treaty.Server) error

Types

type Discoverer

type Discoverer interface {
	Register(server *treaty.Server) error                                      //注册服务器
	UnRegister(server *treaty.Server) error                                    //注册服务器
	GetServerList(args ...bool) map[string]*treaty.Server                      //获取所有服务信息
	GetServerById(serverId string, args ...bool) *treaty.Server                //根据serverId获取server信息
	GetServerByType(serverType, serverArg string, args ...bool) *treaty.Server //根据serverType及参数分配唯一server信息
	GetServerByTypeLoad(serverType string, args ...bool) *treaty.Server        //根绝服务器最小负载量选择服务
	GetServerTypeList(serverType string, args ...bool) map[string]*treaty.Server
	RegEventHandlers(handlers ...EventHandler)
	EventHandlerExec(ev *clientv3.Event, server *treaty.Server)
	IncreLoad(serverId string, load int64) error //负载增加
	DecreLoad(serverId string, load int64) error //负载减少
}

Discoverer find service role

type EtcdDiscoverer

type EtcdDiscoverer struct {
	Config           clientv3.Config
	Client           *clientv3.Client
	ServerList       map[string]*treaty.Server  //serverId=>server
	ServerTypeMap    map[string]*ServerTypeItem //serverType=>serverTypeItem
	ServerLock       *sync.RWMutex
	EventHandlerList []EventHandler
	Prefix           string
}

EtcdDiscoverer etcd discoverer

func NewEtcdDiscoverer

func NewEtcdDiscoverer(opts ...EtcdOption) *EtcdDiscoverer

NewEtcdDiscoverer init EtcdDiscoverer

func (*EtcdDiscoverer) DecreLoad added in v2.5.6

func (e *EtcdDiscoverer) DecreLoad(serverId string, load int64) error

func (*EtcdDiscoverer) DumpServers

func (e *EtcdDiscoverer) DumpServers()

func (*EtcdDiscoverer) EventHandlerExec

func (e *EtcdDiscoverer) EventHandlerExec(ev *clientv3.Event, server *treaty.Server)

func (*EtcdDiscoverer) FindServer

func (e *EtcdDiscoverer) FindServer(serverType string) []*treaty.Server

func (*EtcdDiscoverer) FindServerList

func (e *EtcdDiscoverer) FindServerList() map[string][]*treaty.Server

func (*EtcdDiscoverer) GetServerById

func (e *EtcdDiscoverer) GetServerById(serverId string, args ...bool) *treaty.Server

func (*EtcdDiscoverer) GetServerByType

func (e *EtcdDiscoverer) GetServerByType(serverType, serverArg string, args ...bool) *treaty.Server

func (*EtcdDiscoverer) GetServerByTypeLoad added in v2.0.3

func (e *EtcdDiscoverer) GetServerByTypeLoad(serverType string, args ...bool) *treaty.Server

func (*EtcdDiscoverer) GetServerList

func (e *EtcdDiscoverer) GetServerList(args ...bool) map[string]*treaty.Server

func (*EtcdDiscoverer) GetServerTypeList

func (e *EtcdDiscoverer) GetServerTypeList(serverType string, args ...bool) map[string]*treaty.Server

func (*EtcdDiscoverer) IncreLoad added in v2.5.6

func (e *EtcdDiscoverer) IncreLoad(serverId string, load int64) error

func (*EtcdDiscoverer) Init

func (e *EtcdDiscoverer) Init()

Init init

func (*EtcdDiscoverer) IsCurEvent

func (e *EtcdDiscoverer) IsCurEvent(key string) bool

func (*EtcdDiscoverer) RegEventHandlers

func (e *EtcdDiscoverer) RegEventHandlers(handlers ...EventHandler)

func (*EtcdDiscoverer) Register

func (e *EtcdDiscoverer) Register(server *treaty.Server) error

Register register

func (*EtcdDiscoverer) UnRegister

func (e *EtcdDiscoverer) UnRegister(server *treaty.Server) error

func (*EtcdDiscoverer) Watcher

func (e *EtcdDiscoverer) Watcher()

type EtcdOption

type EtcdOption func(e *EtcdDiscoverer)

func WithEtcdDialTimeOut

func WithEtcdDialTimeOut(d time.Duration) EtcdOption

func WithEtcdEndpoints

func WithEtcdEndpoints(endpoints []string) EtcdOption

func WithEtcdPrefix

func WithEtcdPrefix(prefix string) EtcdOption

type EventHandler

type EventHandler func(ev *clientv3.Event, server *treaty.Server)

type Finder

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

func NewFinder

func NewFinder() *Finder

func (*Finder) GetServerCache

func (f *Finder) GetServerCache(serverType string, arg any) *treaty.Server

func (*Finder) GetServerDiscover

func (f *Finder) GetServerDiscover(serverType string, arg any) *treaty.Server

func (*Finder) GetUserServer

func (f *Finder) GetUserServer(serverType string, arg any) *treaty.Server

func (*Finder) RemoveUserCache

func (f *Finder) RemoveUserCache(arg any)

func (*Finder) ServerEventHandler

func (f *Finder) ServerEventHandler(ev *clientv3.Event, server *treaty.Server)

type Findkey

type Findkey interface {
	int64 | string
}

type ServerMap

type ServerMap[k Findkey] map[k]*treaty.Server

type ServerTypeItem

type ServerTypeItem struct {
	List map[string]*treaty.Server
	// contains filtered or unexported fields
}

func NewServerTypeItem

func NewServerTypeItem() *ServerTypeItem

Jump to

Keyboard shortcuts

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