registry

package
v0.2.9 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package etcd 提供基于 etcd 的服务注册与服务发现实现。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDiscover

func NewDiscover(client *clientv3.Client, meta *micro.Meta, conf *micro.ServiceConf) (micro.Discovery, error)

NewDiscover 创建基于 etcd 的服务发现实例。 参数:

  • client: etcd客户端实例
  • meta: 服务元数据信息
  • config: 服务配置信息

返回:

  • micro.Discovery: 服务发现接口实现
  • error: 错误信息

func NewRegister

func NewRegister(client *clientv3.Client, meta *micro.Meta, conf *micro.ServiceConf) (micro.Register, error)

NewRegister 创建基于 etcd 的服务注册实例。

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 设置重试前回调。

Jump to

Keyboard shortcuts

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