discover

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2021 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConsulDeRegister

func ConsulDeRegister() bool

ConsulDeRegister 取消注册函数

func ConsulDiscoverServices

func ConsulDiscoverServices() []interface{}

ConsulDiscoverServices 从 Consul 中获取服务实例列表

func ConsulRegister

func ConsulRegister() bool

Types

type Check

type Check struct {
	DeregisterCriticalServiceAfter string   `json:"DeregisterCriticalServiceAfter"` // 多久之后注销服务
	Args                           []string `json:"Args,omitempty"`                 // 请求参数
	HTTP                           string   `json:"HTTP"`                           // 健康检查地址
	Interval                       string   `json:"Interval,omitempty"`             // Consul 主动检查间隔
	TTL                            string   `json:"TTL,omitempty"`                  // 服务实例主动维持心跳间隔,与Interval只存其一
}

type ConsulDiscoverClient

type ConsulDiscoverClient struct{}

func (*ConsulDiscoverClient) DeRegister

func (consulClient *ConsulDiscoverClient) DeRegister() bool

DeRegister 发送注销请求

func (*ConsulDiscoverClient) DiscoverServices

func (consulClient *ConsulDiscoverClient) DiscoverServices() []interface{}

func (*ConsulDiscoverClient) Register

func (consulClient *ConsulDiscoverClient) Register() bool

type DiscoveryClient

type DiscoveryClient interface {

	// Register 服务注册接口
	// @param serviceName 服务名
	// @param instanceId 服务实例Id
	// @param instancePort 服务实例端口
	// @param healthCheckUrl 健康检查地址
	// @param instanceHost 服务实例地址
	// @param meta 服务实例元数据
	// Register(serviceName, instanceId, healthCheckUrl string, instanceHost string, instancePort int, meta map[string]string, logger *log.Logger) bool
	Register() bool

	// DeRegister 服务注销接口
	// @param instanceId 服务实例Id
	// DeRegister(instanceId string, logger *log.Logger) bool
	DeRegister() bool

	// DiscoverServices (serviceName string, logger *log.Logger) []interface{}
	// @param serviceName 服务名
	// 发现服务实例接口
	DiscoverServices() []interface{}
}

type InstanceInfo

type InstanceInfo struct {
	ID                string                     `json:"ID"`                // 服务实例ID
	Service           string                     `json:"Service,omitempty"` // 服务发现时返回的服务名
	Name              string                     `json:"Name"`              // 服务名
	Tags              []string                   `json:"Tags,omitempty"`    // 标签,可用于进行服务过滤
	Address           string                     `json:"Address"`           // 服务实例HOST
	Port              int                        `json:"Port"`              // 服务实例端口
	Meta              map[string]string          `json:"Meta,omitempty"`    // 元数据
	EnableTagOverride bool                       `json:"EnableTagOverride"` // 是否允许标签覆盖
	Check             `json:"Check,omitempty"`   // 健康检查相关配置
	Weights           `json:"Weights,omitempty"` // 权重
}

InstanceInfo 服务实例结构体

type Weights

type Weights struct {
	Passing int `json:"Passing"`
	Warning int `json:"Warning"`
}

Jump to

Keyboard shortcuts

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