Documentation
¶
Overview ¶
Package etcd 提供基于 etcd 的服务注册与服务发现实现。
Index ¶
- func NewDiscover(client *clientv3.Client, meta *micro.Meta, conf *micro.ServiceConf) (micro.Discovery, error)
- func NewRegister(client *clientv3.Client, meta *micro.Meta, conf *micro.ServiceConf) (micro.Register, error)
- type DiscoverInstance
- type RegisterInstance
- func (s *RegisterInstance) Install(service *micro.ServiceNode) error
- func (s *RegisterInstance) SustainLease()
- func (s *RegisterInstance) Uninstall()
- func (s *RegisterInstance) WithLog(log *zap.Logger)
- func (s *RegisterInstance) WithRetryAfter(handle func())
- func (s *RegisterInstance) WithRetryBefore(handle func())
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DiscoverInstance ¶
type DiscoverInstance struct {
// contains filtered or unexported fields
}
DiscoverInstance 基于 etcd 的服务发现实例。
func (*DiscoverInstance) GetService ¶
func (s *DiscoverInstance) GetService(sm string) ([]*micro.ServiceNode, string, error)
GetService 根据 gRPC 方法名获取对应的服务节点列表。 参数:
- sm: 服务方法名
返回:
- []*micro.ServiceNode: 服务节点列表
- error: 错误信息,当服务方法不存在时返回错误
func (*DiscoverInstance) Unwatch ¶
func (s *DiscoverInstance) Unwatch()
Unwatch 停止服务发现监控并释放资源 调用此方法会取消上下文,停止所有的监控goroutine
func (*DiscoverInstance) Watcher ¶
func (s *DiscoverInstance) Watcher()
Watcher 启动服务发现监控。 该方法会阻塞执行,持续监控 etcd 中的服务变化,通常在单独的 goroutine 中调用。
func (*DiscoverInstance) WithLog ¶
func (s *DiscoverInstance) WithLog(log *zap.Logger)
WithLog 设置日志记录函数 参数:
- handle: 日志处理函数,接收日志级别和消息内容
type RegisterInstance ¶
type RegisterInstance struct {
// contains filtered or unexported fields
}
RegisterInstance 基于 etcd 的服务注册实例
func (*RegisterInstance) Install ¶
func (s *RegisterInstance) Install(service *micro.ServiceNode) error
Install 将服务节点写入注册中心,并绑定到当前 lease。
func (*RegisterInstance) SustainLease ¶
func (s *RegisterInstance) SustainLease()
SustainLease 持续续约,直到上下文被取消。
func (*RegisterInstance) Uninstall ¶
func (s *RegisterInstance) Uninstall()
Uninstall 撤销 lease 并停止续约。
func (*RegisterInstance) WithLog ¶
func (s *RegisterInstance) WithLog(log *zap.Logger)
WithLog 设置内部日志输出回调。
func (*RegisterInstance) WithRetryAfter ¶
func (s *RegisterInstance) WithRetryAfter(handle func())
WithRetryAfter 设置重试成功后回调。
func (*RegisterInstance) WithRetryBefore ¶
func (s *RegisterInstance) WithRetryBefore(handle func())
WithRetryBefore 设置重试前回调。
Click to show internal directories.
Click to hide internal directories.