Documentation
¶
Index ¶
- func RegisterFactory(factory RegistryFactory) error
- func RegisterFactoryFunc(scheme string, fn RegistryFactoryFunc) error
- type Discovery
- type Notify
- type Registry
- type RegistryDiscovery
- type RegistryFactory
- type RegistryFactoryFunc
- type RegistryManager
- func (m *RegistryManager) ClearFactories()
- func (m *RegistryManager) CreateRegistry(target string) (RegistryDiscovery, error)
- func (m *RegistryManager) CreateRegistryFromURL(targetURL *url.URL) (RegistryDiscovery, error)
- func (m *RegistryManager) GetAvailableSchemes() []string
- func (m *RegistryManager) IsSchemeSupported(scheme string) bool
- func (m *RegistryManager) RegisterFactory(factory RegistryFactory) error
- func (m *RegistryManager) RegisterFactoryFunc(scheme string, fn RegistryFactoryFunc) error
- func (m *RegistryManager) UnregisterFactory(scheme string)
- type Service
- type ServiceInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterFactoryFunc ¶
func RegisterFactoryFunc(scheme string, fn RegistryFactoryFunc) error
RegisterFactoryFunc 注册工厂函数
Types ¶
type Notify ¶
type Notify func([]ServiceInfo)
type RegistryDiscovery ¶
RegistryDiscovery 同时具备服务注册和发现能力,大多数注册中心均实现此接口。
type RegistryFactory ¶
type RegistryFactory interface {
// Scheme 返回支持的协议方案
Scheme() string
// CreateFromURL 从URL创建注册中心实例
CreateFromURL(targetURL *url.URL) (RegistryDiscovery, error)
}
RegistryFactory 注册中心工厂接口
type RegistryFactoryFunc ¶
type RegistryFactoryFunc func(targetURL *url.URL) (RegistryDiscovery, error)
RegistryFactoryFunc 工厂函数类型
type RegistryManager ¶
type RegistryManager struct {
// contains filtered or unexported fields
}
RegistryManager 注册中心管理器
func (*RegistryManager) ClearFactories ¶
func (m *RegistryManager) ClearFactories()
ClearFactories 清空所有工厂
func (*RegistryManager) CreateRegistry ¶
func (m *RegistryManager) CreateRegistry(target string) (RegistryDiscovery, error)
CreateRegistry 创建注册中心实例
func (*RegistryManager) CreateRegistryFromURL ¶
func (m *RegistryManager) CreateRegistryFromURL(targetURL *url.URL) (RegistryDiscovery, error)
CreateRegistryFromURL 从URL创建注册中心实例
func (*RegistryManager) GetAvailableSchemes ¶
func (m *RegistryManager) GetAvailableSchemes() []string
GetAvailableSchemes 获取所有可用的协议方案
func (*RegistryManager) IsSchemeSupported ¶
func (m *RegistryManager) IsSchemeSupported(scheme string) bool
IsSchemeSupported 检查是否支持某个协议方案
func (*RegistryManager) RegisterFactory ¶
func (m *RegistryManager) RegisterFactory(factory RegistryFactory) error
RegisterFactory 注册工厂,重复注册同一 scheme 会返回 error
func (*RegistryManager) RegisterFactoryFunc ¶
func (m *RegistryManager) RegisterFactoryFunc(scheme string, fn RegistryFactoryFunc) error
RegisterFactoryFunc 注册工厂函数
func (*RegistryManager) UnregisterFactory ¶
func (m *RegistryManager) UnregisterFactory(scheme string)
UnregisterFactory 注销工厂
type ServiceInfo ¶
type ServiceInfo struct {
ID string `json:"id"`
Kind string `json:"kind"`
Name string `json:"name"`
Addr string `json:"addr"`
Metadata map[string]string `json:"metadata"`
}
func (*ServiceInfo) Marshal ¶
func (s *ServiceInfo) Marshal() (string, error)
func (*ServiceInfo) Unmarshal ¶
func (s *ServiceInfo) Unmarshal(b []byte) error
Click to show internal directories.
Click to hide internal directories.