Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Discovery ¶
type Discovery interface { // GetService 根据服务名称返回内存中的服务实例. GetService(ctx context.Context, serviceName string) ([]*ServiceInstance, error) // Watch 根据服务名称创建观察者. Watch(ctx context.Context, serviceName string) (Watcher, error) }
Discovery 是服务发现.
type Registrar ¶
type Registrar interface { // Register 注册服务实例. Register(ctx context.Context, service *ServiceInstance) error // Deregister 注销服务实例. Deregister(ctx context.Context, service *ServiceInstance) error }
Registrar 是服务注册商.
type ServiceInstance ¶
type ServiceInstance struct { // ID 是已注册的唯一实例ID. ID string `json:"id"` // Name 是注册的服务名称. Name string `json:"name"` // Version 是已编译的版本. Version string `json:"version"` // Metadata 是与服务实例相关联的KV键值元数据. Metadata map[string]string `json:"metadata"` // Endpoints 是服务实例的端点地址. // 示例: // http://127.0.0.1:8000?isSecure=false // grpc://127.0.0.1:9000?isSecure=false Endpoints []string `json:"endpoints"` }
ServiceInstance 是发现系统中服务的实例.
type Watcher ¶
type Watcher interface { // Next 在以下两种情况下返回服务: // 1.第一次观看且服务实例列表不为空. // 2.找到任何服务实例更改. // 如果不满足上述两个条件,它将阻塞到超过或取消上下文截止日期为止. Next() ([]*ServiceInstance, error) // Stop 关闭观察者. Stop() error }
Watcher 是服务观察者.
Click to show internal directories.
Click to hide internal directories.