Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 服务实例结构体
Click to show internal directories.
Click to hide internal directories.