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 要求进程退出