Documentation
¶
Index ¶
- func GetTestEtcd(t *testing.T) (*integration.ClusterV3, *clientv3.Client)
- type ETCDServiceDiscovery
- func (sd *ETCDServiceDiscovery) AddListener(listener SDListener)
- func (sd *ETCDServiceDiscovery) BeforeShutdown()
- func (sd *ETCDServiceDiscovery) GetServer(id string) (*common.Server, error)
- func (sd *ETCDServiceDiscovery) GetServers() []*common.Server
- func (sd *ETCDServiceDiscovery) GetServersByType(serverType string) (map[string]*common.Server, error)
- func (sd *ETCDServiceDiscovery) InitETCDClient() error
- func (sd *ETCDServiceDiscovery) Shutdown() error
- func (sd *ETCDServiceDiscovery) Start() error
- func (sd *ETCDServiceDiscovery) Stop()
- func (sd *ETCDServiceDiscovery) SyncServers(firstSync bool) error
- type EtcdServiceDiscoveryConfig
- type SDListener
- type ServiceDiscovery
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetTestEtcd ¶
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 ¶
监听服务器变化 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 要求进程退出