Merge pull request #142 from lemoeo/main

 反向代理 gRPC 端口(支持 Cloudflare CDN)

Co-authored-by: lemoeo <18618627+lemoeo@users.noreply.github.com>
This commit is contained in:
naiba
2021-11-11 13:13:20 +07:00
committed by GitHub
9 changed files with 68 additions and 16 deletions

View File

@@ -218,6 +218,8 @@ func doTask(task *pb.Task) {
handleCommandTask(task, &result)
case model.TaskTypeUpgrade:
handleUpgradeTask(task, &result)
case model.TaskTypeKeepalive:
return
default:
println("不支持的任务:", task)
}

View File

@@ -193,6 +193,7 @@ func main() {
go rpc.ServeRPC(dao.Conf.GRPCPort)
serviceSentinelDispatchBus := make(chan model.Monitor)
go rpc.DispatchTask(serviceSentinelDispatchBus)
go rpc.DispatchKeepalive()
go dao.AlertSentinelStart()
dao.NewServiceSentinel(serviceSentinelDispatchBus)
srv := controller.ServeWeb(dao.Conf.HTTPPort)

View File

@@ -57,3 +57,17 @@ func DispatchTask(serviceSentinelDispatchBus <-chan model.Monitor) {
dao.SortedServerLock.RUnlock()
}
}
func DispatchKeepalive() {
dao.Cron.AddFunc("@every 60s", func() {
dao.SortedServerLock.RLock()
defer dao.SortedServerLock.RUnlock()
for i := 0; i < len(dao.SortedServerList); i++ {
if dao.SortedServerList[i] == nil || dao.SortedServerList[i].TaskStream == nil {
continue
}
dao.SortedServerList[i].TaskStream.Send(&pb.Task{Type: model.TaskTypeKeepalive})
}
})
}