Documentation
¶
Overview ¶
Package membership is a generated GoMock package.
Package membership provides service discovery and membership information mechanism ¶
Package membership is a generated GoMock package.
Package membership is a generated GoMock package.
Index ¶
- Constants
- Variables
- type ChangedEvent
- type HostInfo
- func (hi HostInfo) Belongs(address string) (bool, error)
- func (hi HostInfo) GetAddress() string
- func (hi HostInfo) GetNamedAddress(port string) (string, error)
- func (hi HostInfo) Identity() string
- func (hi HostInfo) Label(key string) (value string, has bool)
- func (hi HostInfo) SetLabel(key string, value string)
- func (hi HostInfo) String() string
- type MockPeerProvider
- func (m *MockPeerProvider) EXPECT() *MockPeerProviderMockRecorder
- func (m *MockPeerProvider) GetMembers(service string) ([]HostInfo, error)
- func (m *MockPeerProvider) SelfEvict() error
- func (m *MockPeerProvider) Start()
- func (m *MockPeerProvider) Stop()
- func (m *MockPeerProvider) Subscribe(name string, handler func(ChangedEvent)) error
- func (m *MockPeerProvider) WhoAmI() (HostInfo, error)
- type MockPeerProviderMockRecorder
- func (mr *MockPeerProviderMockRecorder) GetMembers(service any) *gomock.Call
- func (mr *MockPeerProviderMockRecorder) SelfEvict() *gomock.Call
- func (mr *MockPeerProviderMockRecorder) Start() *gomock.Call
- func (mr *MockPeerProviderMockRecorder) Stop() *gomock.Call
- func (mr *MockPeerProviderMockRecorder) Subscribe(name, handler any) *gomock.Call
- func (mr *MockPeerProviderMockRecorder) WhoAmI() *gomock.Call
- type MockResolver
- func (m *MockResolver) EXPECT() *MockResolverMockRecorder
- func (m *MockResolver) EvictSelf() error
- func (m *MockResolver) Lookup(service, key string) (HostInfo, error)
- func (m *MockResolver) LookupByAddress(service, address string) (HostInfo, error)
- func (m *MockResolver) MemberCount(service string) (int, error)
- func (m *MockResolver) Members(service string) ([]HostInfo, error)
- func (m *MockResolver) Start()
- func (m *MockResolver) Stop()
- func (m *MockResolver) Subscribe(service, name string, notifyChannel chan<- *ChangedEvent) error
- func (m *MockResolver) Unsubscribe(service, name string) error
- func (m *MockResolver) WhoAmI() (HostInfo, error)
- type MockResolverMockRecorder
- func (mr *MockResolverMockRecorder) EvictSelf() *gomock.Call
- func (mr *MockResolverMockRecorder) Lookup(service, key any) *gomock.Call
- func (mr *MockResolverMockRecorder) LookupByAddress(service, address any) *gomock.Call
- func (mr *MockResolverMockRecorder) MemberCount(service any) *gomock.Call
- func (mr *MockResolverMockRecorder) Members(service any) *gomock.Call
- func (mr *MockResolverMockRecorder) Start() *gomock.Call
- func (mr *MockResolverMockRecorder) Stop() *gomock.Call
- func (mr *MockResolverMockRecorder) Subscribe(service, name, notifyChannel any) *gomock.Call
- func (mr *MockResolverMockRecorder) Unsubscribe(service, name any) *gomock.Call
- func (mr *MockResolverMockRecorder) WhoAmI() *gomock.Call
- type MockSingleProvider
- func (m *MockSingleProvider) AddressToHost(owner string) (HostInfo, error)
- func (m *MockSingleProvider) EXPECT() *MockSingleProviderMockRecorder
- func (m *MockSingleProvider) Lookup(key string) (HostInfo, error)
- func (m *MockSingleProvider) LookupRaw(key string) (string, error)
- func (m *MockSingleProvider) MemberCount() int
- func (m *MockSingleProvider) Members() []HostInfo
- func (m *MockSingleProvider) Refresh() error
- func (m *MockSingleProvider) Start()
- func (m *MockSingleProvider) Stop()
- func (m *MockSingleProvider) Subscribe(name string, channel chan<- *ChangedEvent) error
- func (m *MockSingleProvider) Unsubscribe(name string) error
- type MockSingleProviderMockRecorder
- func (mr *MockSingleProviderMockRecorder) AddressToHost(owner any) *gomock.Call
- func (mr *MockSingleProviderMockRecorder) Lookup(key any) *gomock.Call
- func (mr *MockSingleProviderMockRecorder) LookupRaw(key any) *gomock.Call
- func (mr *MockSingleProviderMockRecorder) MemberCount() *gomock.Call
- func (mr *MockSingleProviderMockRecorder) Members() *gomock.Call
- func (mr *MockSingleProviderMockRecorder) Refresh() *gomock.Call
- func (mr *MockSingleProviderMockRecorder) Start() *gomock.Call
- func (mr *MockSingleProviderMockRecorder) Stop() *gomock.Call
- func (mr *MockSingleProviderMockRecorder) Subscribe(name, channel any) *gomock.Call
- func (mr *MockSingleProviderMockRecorder) Unsubscribe(name any) *gomock.Call
- type MultiringResolver
- func (rpo *MultiringResolver) EvictSelf() error
- func (rpo *MultiringResolver) Lookup(service string, key string) (HostInfo, error)
- func (rpo *MultiringResolver) LookupByAddress(service, address string) (HostInfo, error)
- func (rpo *MultiringResolver) MemberCount(service string) (int, error)
- func (rpo *MultiringResolver) Members(service string) ([]HostInfo, error)
- func (rpo *MultiringResolver) Start()
- func (rpo *MultiringResolver) Stop()
- func (rpo *MultiringResolver) Subscribe(service string, name string, notifyChannel chan<- *ChangedEvent) error
- func (rpo *MultiringResolver) Unsubscribe(service string, name string) error
- func (rpo *MultiringResolver) WhoAmI() (HostInfo, error)
- type PeerProvider
- type PortMap
- type Resolver
- type Ring
- func (r *Ring) AddressToHost(addr string) (HostInfo, error)
- func (r *Ring) Lookup(key string) (HostInfo, error)
- func (r *Ring) LookupRaw(key string) (string, error)
- func (r *Ring) MemberCount() int
- func (r *Ring) Members() []HostInfo
- func (r *Ring) Refresh() error
- func (r *Ring) Start()
- func (r *Ring) Stop()
- func (r *Ring) Subscribe(watcher string, notifyChannel chan<- *ChangedEvent) error
- func (r *Ring) Unsubscribe(name string) error
- type SingleProvider
Constants ¶
const ( PortTchannel = "tchannel" PortGRPC = "grpc" )
Variables ¶
var ErrInsufficientHosts = &types.InternalServiceError{Message: "Not enough hosts to serve the request"}
ErrInsufficientHosts is thrown when there are not enough hosts to serve the request
Functions ¶
This section is empty.
Types ¶
type ChangedEvent ¶
ChangedEvent describes a change in a membership ring
func (*ChangedEvent) Empty ¶ added in v1.2.14
func (ce *ChangedEvent) Empty() bool
type HostInfo ¶
type HostInfo struct {
// contains filtered or unexported fields
}
HostInfo is a type that contains the info about a cadence host
func NewDetailedHostInfo ¶ added in v0.24.0
NewDetailedHostInfo creates a new HostInfo instance with identity and portmap information
func NewHostInfo ¶
NewHostInfo creates a new HostInfo instance
func (HostInfo) GetAddress ¶
GetAddress returns the ip:port address
func (HostInfo) GetNamedAddress ¶ added in v0.24.0
GetNamedAddress returns the ip:port address
type MockPeerProvider ¶ added in v0.24.0
type MockPeerProvider struct {
// contains filtered or unexported fields
}
MockPeerProvider is a mock of PeerProvider interface.
func NewMockPeerProvider ¶ added in v0.24.0
func NewMockPeerProvider(ctrl *gomock.Controller) *MockPeerProvider
NewMockPeerProvider creates a new mock instance.
func (*MockPeerProvider) EXPECT ¶ added in v0.24.0
func (m *MockPeerProvider) EXPECT() *MockPeerProviderMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockPeerProvider) GetMembers ¶ added in v0.24.0
func (m *MockPeerProvider) GetMembers(service string) ([]HostInfo, error)
GetMembers mocks base method.
func (*MockPeerProvider) SelfEvict ¶ added in v0.24.0
func (m *MockPeerProvider) SelfEvict() error
SelfEvict mocks base method.
func (*MockPeerProvider) Start ¶ added in v0.24.0
func (m *MockPeerProvider) Start()
Start mocks base method.
func (*MockPeerProvider) Stop ¶ added in v0.24.0
func (m *MockPeerProvider) Stop()
Stop mocks base method.
func (*MockPeerProvider) Subscribe ¶ added in v0.24.0
func (m *MockPeerProvider) Subscribe(name string, handler func(ChangedEvent)) error
Subscribe mocks base method.
func (*MockPeerProvider) WhoAmI ¶ added in v0.24.0
func (m *MockPeerProvider) WhoAmI() (HostInfo, error)
WhoAmI mocks base method.
type MockPeerProviderMockRecorder ¶ added in v0.24.0
type MockPeerProviderMockRecorder struct {
// contains filtered or unexported fields
}
MockPeerProviderMockRecorder is the mock recorder for MockPeerProvider.
func (*MockPeerProviderMockRecorder) GetMembers ¶ added in v0.24.0
func (mr *MockPeerProviderMockRecorder) GetMembers(service any) *gomock.Call
GetMembers indicates an expected call of GetMembers.
func (*MockPeerProviderMockRecorder) SelfEvict ¶ added in v0.24.0
func (mr *MockPeerProviderMockRecorder) SelfEvict() *gomock.Call
SelfEvict indicates an expected call of SelfEvict.
func (*MockPeerProviderMockRecorder) Start ¶ added in v0.24.0
func (mr *MockPeerProviderMockRecorder) Start() *gomock.Call
Start indicates an expected call of Start.
func (*MockPeerProviderMockRecorder) Stop ¶ added in v0.24.0
func (mr *MockPeerProviderMockRecorder) Stop() *gomock.Call
Stop indicates an expected call of Stop.
func (*MockPeerProviderMockRecorder) Subscribe ¶ added in v0.24.0
func (mr *MockPeerProviderMockRecorder) Subscribe(name, handler any) *gomock.Call
Subscribe indicates an expected call of Subscribe.
func (*MockPeerProviderMockRecorder) WhoAmI ¶ added in v0.24.0
func (mr *MockPeerProviderMockRecorder) WhoAmI() *gomock.Call
WhoAmI indicates an expected call of WhoAmI.
type MockResolver ¶ added in v0.24.0
type MockResolver struct {
// contains filtered or unexported fields
}
MockResolver is a mock of Resolver interface.
func NewMockResolver ¶ added in v0.24.0
func NewMockResolver(ctrl *gomock.Controller) *MockResolver
NewMockResolver creates a new mock instance.
func (*MockResolver) EXPECT ¶ added in v0.24.0
func (m *MockResolver) EXPECT() *MockResolverMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockResolver) EvictSelf ¶ added in v0.24.0
func (m *MockResolver) EvictSelf() error
EvictSelf mocks base method.
func (*MockResolver) Lookup ¶ added in v0.24.0
func (m *MockResolver) Lookup(service, key string) (HostInfo, error)
Lookup mocks base method.
func (*MockResolver) LookupByAddress ¶ added in v0.24.0
func (m *MockResolver) LookupByAddress(service, address string) (HostInfo, error)
LookupByAddress mocks base method.
func (*MockResolver) MemberCount ¶ added in v0.24.0
func (m *MockResolver) MemberCount(service string) (int, error)
MemberCount mocks base method.
func (*MockResolver) Members ¶ added in v0.24.0
func (m *MockResolver) Members(service string) ([]HostInfo, error)
Members mocks base method.
func (*MockResolver) Start ¶ added in v0.24.0
func (m *MockResolver) Start()
Start mocks base method.
func (*MockResolver) Subscribe ¶ added in v0.24.0
func (m *MockResolver) Subscribe(service, name string, notifyChannel chan<- *ChangedEvent) error
Subscribe mocks base method.
func (*MockResolver) Unsubscribe ¶ added in v0.24.0
func (m *MockResolver) Unsubscribe(service, name string) error
Unsubscribe mocks base method.
func (*MockResolver) WhoAmI ¶ added in v0.24.0
func (m *MockResolver) WhoAmI() (HostInfo, error)
WhoAmI mocks base method.
type MockResolverMockRecorder ¶ added in v0.24.0
type MockResolverMockRecorder struct {
// contains filtered or unexported fields
}
MockResolverMockRecorder is the mock recorder for MockResolver.
func (*MockResolverMockRecorder) EvictSelf ¶ added in v0.24.0
func (mr *MockResolverMockRecorder) EvictSelf() *gomock.Call
EvictSelf indicates an expected call of EvictSelf.
func (*MockResolverMockRecorder) Lookup ¶ added in v0.24.0
func (mr *MockResolverMockRecorder) Lookup(service, key any) *gomock.Call
Lookup indicates an expected call of Lookup.
func (*MockResolverMockRecorder) LookupByAddress ¶ added in v0.24.0
func (mr *MockResolverMockRecorder) LookupByAddress(service, address any) *gomock.Call
LookupByAddress indicates an expected call of LookupByAddress.
func (*MockResolverMockRecorder) MemberCount ¶ added in v0.24.0
func (mr *MockResolverMockRecorder) MemberCount(service any) *gomock.Call
MemberCount indicates an expected call of MemberCount.
func (*MockResolverMockRecorder) Members ¶ added in v0.24.0
func (mr *MockResolverMockRecorder) Members(service any) *gomock.Call
Members indicates an expected call of Members.
func (*MockResolverMockRecorder) Start ¶ added in v0.24.0
func (mr *MockResolverMockRecorder) Start() *gomock.Call
Start indicates an expected call of Start.
func (*MockResolverMockRecorder) Stop ¶ added in v0.24.0
func (mr *MockResolverMockRecorder) Stop() *gomock.Call
Stop indicates an expected call of Stop.
func (*MockResolverMockRecorder) Subscribe ¶ added in v0.24.0
func (mr *MockResolverMockRecorder) Subscribe(service, name, notifyChannel any) *gomock.Call
Subscribe indicates an expected call of Subscribe.
func (*MockResolverMockRecorder) Unsubscribe ¶ added in v0.24.0
func (mr *MockResolverMockRecorder) Unsubscribe(service, name any) *gomock.Call
Unsubscribe indicates an expected call of Unsubscribe.
func (*MockResolverMockRecorder) WhoAmI ¶ added in v0.24.0
func (mr *MockResolverMockRecorder) WhoAmI() *gomock.Call
WhoAmI indicates an expected call of WhoAmI.
type MockSingleProvider ¶ added in v1.3.0
type MockSingleProvider struct {
// contains filtered or unexported fields
}
MockSingleProvider is a mock of SingleProvider interface.
func NewMockSingleProvider ¶ added in v1.3.0
func NewMockSingleProvider(ctrl *gomock.Controller) *MockSingleProvider
NewMockSingleProvider creates a new mock instance.
func (*MockSingleProvider) AddressToHost ¶ added in v1.3.0
func (m *MockSingleProvider) AddressToHost(owner string) (HostInfo, error)
AddressToHost mocks base method.
func (*MockSingleProvider) EXPECT ¶ added in v1.3.0
func (m *MockSingleProvider) EXPECT() *MockSingleProviderMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockSingleProvider) Lookup ¶ added in v1.3.0
func (m *MockSingleProvider) Lookup(key string) (HostInfo, error)
Lookup mocks base method.
func (*MockSingleProvider) LookupRaw ¶ added in v1.3.0
func (m *MockSingleProvider) LookupRaw(key string) (string, error)
LookupRaw mocks base method.
func (*MockSingleProvider) MemberCount ¶ added in v1.3.0
func (m *MockSingleProvider) MemberCount() int
MemberCount mocks base method.
func (*MockSingleProvider) Members ¶ added in v1.3.0
func (m *MockSingleProvider) Members() []HostInfo
Members mocks base method.
func (*MockSingleProvider) Refresh ¶ added in v1.3.0
func (m *MockSingleProvider) Refresh() error
Refresh mocks base method.
func (*MockSingleProvider) Start ¶ added in v1.3.0
func (m *MockSingleProvider) Start()
Start mocks base method.
func (*MockSingleProvider) Stop ¶ added in v1.3.0
func (m *MockSingleProvider) Stop()
Stop mocks base method.
func (*MockSingleProvider) Subscribe ¶ added in v1.3.0
func (m *MockSingleProvider) Subscribe(name string, channel chan<- *ChangedEvent) error
Subscribe mocks base method.
func (*MockSingleProvider) Unsubscribe ¶ added in v1.3.0
func (m *MockSingleProvider) Unsubscribe(name string) error
Unsubscribe mocks base method.
type MockSingleProviderMockRecorder ¶ added in v1.3.0
type MockSingleProviderMockRecorder struct {
// contains filtered or unexported fields
}
MockSingleProviderMockRecorder is the mock recorder for MockSingleProvider.
func (*MockSingleProviderMockRecorder) AddressToHost ¶ added in v1.3.0
func (mr *MockSingleProviderMockRecorder) AddressToHost(owner any) *gomock.Call
AddressToHost indicates an expected call of AddressToHost.
func (*MockSingleProviderMockRecorder) Lookup ¶ added in v1.3.0
func (mr *MockSingleProviderMockRecorder) Lookup(key any) *gomock.Call
Lookup indicates an expected call of Lookup.
func (*MockSingleProviderMockRecorder) LookupRaw ¶ added in v1.3.0
func (mr *MockSingleProviderMockRecorder) LookupRaw(key any) *gomock.Call
LookupRaw indicates an expected call of LookupRaw.
func (*MockSingleProviderMockRecorder) MemberCount ¶ added in v1.3.0
func (mr *MockSingleProviderMockRecorder) MemberCount() *gomock.Call
MemberCount indicates an expected call of MemberCount.
func (*MockSingleProviderMockRecorder) Members ¶ added in v1.3.0
func (mr *MockSingleProviderMockRecorder) Members() *gomock.Call
Members indicates an expected call of Members.
func (*MockSingleProviderMockRecorder) Refresh ¶ added in v1.3.0
func (mr *MockSingleProviderMockRecorder) Refresh() *gomock.Call
Refresh indicates an expected call of Refresh.
func (*MockSingleProviderMockRecorder) Start ¶ added in v1.3.0
func (mr *MockSingleProviderMockRecorder) Start() *gomock.Call
Start indicates an expected call of Start.
func (*MockSingleProviderMockRecorder) Stop ¶ added in v1.3.0
func (mr *MockSingleProviderMockRecorder) Stop() *gomock.Call
Stop indicates an expected call of Stop.
func (*MockSingleProviderMockRecorder) Subscribe ¶ added in v1.3.0
func (mr *MockSingleProviderMockRecorder) Subscribe(name, channel any) *gomock.Call
Subscribe indicates an expected call of Subscribe.
func (*MockSingleProviderMockRecorder) Unsubscribe ¶ added in v1.3.0
func (mr *MockSingleProviderMockRecorder) Unsubscribe(name any) *gomock.Call
Unsubscribe indicates an expected call of Unsubscribe.
type MultiringResolver ¶ added in v0.24.0
type MultiringResolver struct {
// contains filtered or unexported fields
}
MultiringResolver uses ring-per-service for membership information
func (*MultiringResolver) EvictSelf ¶ added in v0.24.0
func (rpo *MultiringResolver) EvictSelf() error
EvictSelf is used to remove this host from membership ring
func (*MultiringResolver) Lookup ¶ added in v0.24.0
func (rpo *MultiringResolver) Lookup(service string, key string) (HostInfo, error)
func (*MultiringResolver) LookupByAddress ¶ added in v0.24.0
func (rpo *MultiringResolver) LookupByAddress(service, address string) (HostInfo, error)
func (*MultiringResolver) MemberCount ¶ added in v0.24.0
func (rpo *MultiringResolver) MemberCount(service string) (int, error)
func (*MultiringResolver) Members ¶ added in v0.24.0
func (rpo *MultiringResolver) Members(service string) ([]HostInfo, error)
func (*MultiringResolver) Start ¶ added in v0.24.0
func (rpo *MultiringResolver) Start()
Start starts provider and all rings
func (*MultiringResolver) Stop ¶ added in v0.24.0
func (rpo *MultiringResolver) Stop()
Stop stops all rings and membership provider
func (*MultiringResolver) Subscribe ¶ added in v0.24.0
func (rpo *MultiringResolver) Subscribe(service string, name string, notifyChannel chan<- *ChangedEvent) error
func (*MultiringResolver) Unsubscribe ¶ added in v0.24.0
func (rpo *MultiringResolver) Unsubscribe(service string, name string) error
func (*MultiringResolver) WhoAmI ¶ added in v0.24.0
func (rpo *MultiringResolver) WhoAmI() (HostInfo, error)
WhoAmI asks to provide current instance address
type PeerProvider ¶ added in v0.24.0
type PeerProvider interface {
common.Daemon
GetMembers(service string) ([]HostInfo, error)
WhoAmI() (HostInfo, error)
SelfEvict() error
Subscribe(name string, handler func(ChangedEvent)) error
}
PeerProvider is used to retrieve membership information from provider
type Resolver ¶ added in v0.24.0
type Resolver interface {
common.Daemon
// WhoAmI returns self host details.
// To be consistent with peer provider, it is advised to use peer provider
// to return this information
WhoAmI() (HostInfo, error)
// EvictSelf evicts this member from the membership ring. After this method is
// called, other members should discover that this node is no longer part of the
// ring.
// This primitive is useful to carry out graceful host shutdown during deployments.
EvictSelf() error
// Lookup will return host which is an owner for provided key.
Lookup(service, key string) (HostInfo, error)
// Subscribe adds a subscriber which will get detailed change data on the given
// channel, whenever membership changes.
Subscribe(service, name string, notifyChannel chan<- *ChangedEvent) error
// Unsubscribe removes a subscriber for this service.
Unsubscribe(service, name string) error
// MemberCount returns host count in a service specific hashring
MemberCount(service string) (int, error)
// Members returns all host addresses in a service specific hashring
Members(service string) ([]HostInfo, error)
// LookupByAddress returns Host which owns IP:port tuple
LookupByAddress(service, address string) (HostInfo, error)
}
Resolver provides membership information for all cadence services.
func NewResolver ¶ added in v0.24.0
func NewResolver( provider PeerProvider, metricsClient metrics.Client, logger log.Logger, rings map[string]SingleProvider, ) (Resolver, error)
NewResolver builds hashrings for all services
type Ring ¶ added in v1.3.0
type Ring struct {
// contains filtered or unexported fields
}
func NewHashring ¶ added in v1.3.0
func NewHashring( service string, provider PeerProvider, timeSource clock.TimeSource, logger log.Logger, scope metrics.Scope, ) *Ring
func (*Ring) AddressToHost ¶ added in v1.3.0
func (*Ring) Lookup ¶ added in v1.3.0
Lookup finds the host in the ring responsible for serving the given key
func (*Ring) LookupRaw ¶ added in v1.3.0
LookupRaw finds the host address in the ring responsible for serving the given key without converting it to HostInfo
func (*Ring) MemberCount ¶ added in v1.3.0
MemberCount returns number of hosts in a ring
func (*Ring) Subscribe ¶ added in v1.3.0
func (r *Ring) Subscribe(watcher string, notifyChannel chan<- *ChangedEvent) error
Subscribe registers callback watcher. Services can use this to be informed about membership changes
func (*Ring) Unsubscribe ¶ added in v1.3.0
Unsubscribe removes subscriber
type SingleProvider ¶ added in v1.3.0
type SingleProvider interface {
common.Daemon
Lookup(key string) (HostInfo, error)
LookupRaw(key string) (string, error)
Subscribe(name string, channel chan<- *ChangedEvent) error
AddressToHost(owner string) (HostInfo, error)
Unsubscribe(name string) error
Members() []HostInfo
MemberCount() int
Refresh() error
}
func NewShardDistributorResolver ¶ added in v1.3.0
func NewShardDistributorResolver( namespace string, client sharddistributor.Client, shardDistributionMode dynamicproperties.StringPropertyFn, ring SingleProvider, logger log.Logger, ) SingleProvider