静态服务发现健康检查部分完善标签

This commit is contained in:
Liujian
2022-06-10 16:00:16 +08:00
parent a1e74ffeb3
commit 0b9fa197b6
3 changed files with 14 additions and 13 deletions

View File

@@ -22,10 +22,10 @@ func (c *Config) getScheme() string {
//HealthConfig 健康检查配置
type HealthConfig struct {
Scheme string `json:"scheme" enum:"HTTP,HTTPS"`
Method string `json:"method" enum:"GET,POST,PUT"`
URL string `json:"url"`
SuccessCode int `json:"success_code"`
Period int `json:"period"`
Timeout int `json:"timeout"`
Scheme string `json:"scheme" enum:"HTTP,HTTPS" label:"请求协议"`
Method string `json:"method" enum:"GET,POST,PUT" label:"请求方式"`
URL string `json:"url" label:"请求URL"`
SuccessCode int `json:"success_code" label:"成功状态码" minimum:"99"`
Period int `json:"period" label:"检查频率单位s" minimum:"1" default:"30"`
Timeout int `json:"timeout" label:"超时时间单位ms"`
}

View File

@@ -1,7 +1,6 @@
package upstream_http
import (
"github.com/eolinker/apinto/plugin"
"github.com/eolinker/eosc"
)
@@ -12,5 +11,4 @@ type Config struct {
Type string `json:"type" enum:"round-robin" label:"负载算法"`
Config string `json:"config" label:"配置"`
Discovery eosc.RequireId `json:"discovery" required:"true" label:"服务发现" skill:"github.com/eolinker/apinto/discovery.discovery.IDiscovery"`
Plugins map[string]*plugin.Config `json:"plugins" label:"插件"`
}

View File

@@ -43,6 +43,9 @@ type HTTPCheck struct {
//doCheckLoop 定时检查,维护了一个待检测节点集合
func (h *HTTPCheck) doCheckLoop() {
if h.config.Period < 1 {
return
}
ticker := time.NewTicker(h.config.Period)
nodes := map[string]map[string]*checkNode{}
defer ticker.Stop()