registry

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2021 License: MIT Imports: 1 Imported by: 0

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 是服务观察者.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL