update
This commit is contained in:
@@ -63,14 +63,19 @@ func (c *Consul) Register(service *myregistry.ServiceInfo) error {
|
|||||||
return fmt.Errorf("service [%s] already registered", service.ServiceName)
|
return fmt.Errorf("service [%s] already registered", service.ServiceName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
checkTime := time.Second * 15
|
||||||
|
|
||||||
|
fmt.Println(checkTime.String())
|
||||||
|
|
||||||
check := &api.AgentServiceCheck{
|
check := &api.AgentServiceCheck{
|
||||||
CheckID: serviceId,
|
CheckID: serviceId,
|
||||||
TCP: fmt.Sprintf("%s:%d", service.Ip, service.Port),
|
TTL: (checkTime*2 + time.Second*5).String(),
|
||||||
Timeout: "5s", // 超时时间
|
//TCP: fmt.Sprintf("%s:%d", service.Ip, service.Port),
|
||||||
Interval: "30s", // 运行检查的频率
|
//Timeout: "5s", // 超时时间
|
||||||
|
//Interval: "30s", // 运行检查的频率
|
||||||
// 指定时间后自动注销不健康的服务节点
|
// 指定时间后自动注销不健康的服务节点
|
||||||
// 最小超时时间为1分钟,收获不健康服务的进程每30秒运行一次,因此触发注销的时间可能略长于配置的超时时间。
|
// 最小超时时间为1分钟,收获不健康服务的进程每30秒运行一次,因此触发注销的时间可能略长于配置的超时时间。
|
||||||
DeregisterCriticalServiceAfter: "6m",
|
DeregisterCriticalServiceAfter: "5m",
|
||||||
Status: api.HealthPassing,
|
Status: api.HealthPassing,
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,6 +105,21 @@ func (c *Consul) Register(service *myregistry.ServiceInfo) error {
|
|||||||
|
|
||||||
defaultLog.Infof("register service ok: %s - %s:%d", svc.Name, svc.Address, svc.Port)
|
defaultLog.Infof("register service ok: %s - %s:%d", svc.Name, svc.Address, svc.Port)
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
for {
|
||||||
|
//defaultLog.Debugf("PassTTL ttl service: %s", svc.Name)
|
||||||
|
|
||||||
|
err := c.client.Agent().PassTTL(serviceId, "")
|
||||||
|
if err != nil {
|
||||||
|
defaultLog.Errorf("PassTTL service err: %s: %s", svc.Name, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
time.Sleep(checkTime)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}()
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,7 +166,7 @@ func New(conf *myconf.Config, opts ...Opt) (*Consul, error) {
|
|||||||
opt(cl)
|
opt(cl)
|
||||||
}
|
}
|
||||||
|
|
||||||
go cl.healthCheck()
|
go cl.allHealthCheck()
|
||||||
|
|
||||||
return cl, nil
|
return cl, nil
|
||||||
}
|
}
|
||||||
@@ -208,9 +228,9 @@ func NewClient(clientCfg *ClientConfig) (*api.Client, error) {
|
|||||||
return client, nil
|
return client, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Consul) healthCheck() {
|
func (c *Consul) allHealthCheck() {
|
||||||
time.Sleep(time.Second * 5)
|
time.Sleep(time.Second * 5)
|
||||||
mylog.Infof("start health check")
|
mylog.Infof("start all health check")
|
||||||
|
|
||||||
var (
|
var (
|
||||||
lastIndex uint64
|
lastIndex uint64
|
||||||
|
|||||||
Reference in New Issue
Block a user