feat:1. 增加AnyTLS类型支持 2.定时5m全量探测节点健康改为2h,并增加配置可调整 3. 修复网页端修改配置文件保存失败问题

This commit is contained in:
zhangyongsheng
2026-03-12 16:21:34 +08:00
parent 5484d6f65a
commit 284977b7a5
11 changed files with 230 additions and 32 deletions
+7 -2
View File
@@ -29,7 +29,7 @@ const (
defaultDrainTimeout = 10 * time.Second
defaultHealthCheckTimeout = 30 * time.Second
healthCheckPollInterval = 500 * time.Millisecond
periodicHealthInterval = 5 * time.Minute
// periodicHealthInterval is configured via cfg.Management.HealthCheckInterval
periodicHealthTimeout = 10 * time.Second
)
@@ -160,7 +160,8 @@ func (m *Manager) Start(ctx context.Context) error {
// Start periodic health check after nodes are registered
m.mu.Lock()
if m.monitorMgr != nil && !m.healthCheckStarted {
m.monitorMgr.StartPeriodicHealthCheck(periodicHealthInterval, periodicHealthTimeout)
interval := cfg.Management.HealthCheckInterval
m.monitorMgr.StartPeriodicHealthCheck(interval, periodicHealthTimeout)
m.healthCheckStarted = true
}
m.mu.Unlock()
@@ -280,6 +281,10 @@ func (m *Manager) Reload(newCfg *config.Config) error {
l.OnConfigUpdate(newCfg)
}
// Reload 成功后立即触发 1 次全量探测(内部去重,避免多次 Reload 造成突发)
if m.monitorMgr != nil {
go m.monitorMgr.RequestProbeAllOnce(periodicHealthTimeout)
}
m.logger.Infof("reload completed successfully with %d nodes", len(newCfg.Nodes))
return nil
}