静态服务发现健康检查部分完善标签
This commit is contained in:
@@ -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)"`
|
||||
}
|
||||
|
||||
@@ -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:"插件"`
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user