From 0d547b1e83099088ee6da90ed137c358a812fc4b Mon Sep 17 00:00:00 2001 From: boyce Date: Fri, 31 Jul 2020 20:04:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=AF=E5=8A=A8=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E6=95=B4=E7=90=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cluster/cluster.go | 1 - node/node.go | 34 +++++++++++++++++++--------------- service/service.go | 1 - service/servicemgr.go | 10 +--------- 4 files changed, 20 insertions(+), 26 deletions(-) diff --git a/cluster/cluster.go b/cluster/cluster.go index a382925..c92a1e2 100644 --- a/cluster/cluster.go +++ b/cluster/cluster.go @@ -70,7 +70,6 @@ func (slf *Cluster) Init(currentNodeId int) error{ rpcinfo.client = &rpc.Client{} if nodeinfo.NodeId == currentNodeId { rpcinfo.client.Connect("") - //rpcinfo.client.Connect(nodeinfo.ListenAddr) }else{ rpcinfo.client.Connect(nodeinfo.ListenAddr) } diff --git a/node/node.go b/node/node.go index 5be928c..4b6f58f 100644 --- a/node/node.go +++ b/node/node.go @@ -64,34 +64,28 @@ func GetNodeId() int { } func initNode(id int){ - nodeId = id //1.初始化集群 + nodeId = id err := cluster.GetCluster().Init(GetNodeId()) if err != nil { log.Fatal("read system config is error %+v",err) } - //2.service模块初始化 - service.Init(closeSig) - - //3.setup service + //2.setup service for _,s := range preSetupService { //是否配置的service if cluster.GetCluster().IsConfigService(s.GetName()) == false { continue } + + pServiceCfg := cluster.GetCluster().GetServiceCfg(nodeId,s.GetName()) + s.Init(s,cluster.GetRpcClient,cluster.GetRpcServer,pServiceCfg) + service.Setup(s) } - //4.init service - for _,s := range preSetupService { - //是否配置的service - if cluster.GetCluster().IsConfigService(s.GetName()) == false { - continue - } - pServiceCfg := cluster.GetCluster().GetServiceCfg(nodeId,s.GetName()) - s.Init(s,cluster.GetRpcClient,cluster.GetRpcServer,pServiceCfg) - } + //3.service初始化 + service.Init(closeSig) } func Start() { @@ -117,16 +111,25 @@ func stopNode(arg interface{}) error { func startNode(paramNodeId interface{}) error { log.Release("Start running server.") + + //1.初始化node initNode(paramNodeId.(int)) + + //2.运行集群 cluster.GetCluster().Start() + + //3.运行service service.Start() + + //4.记录进程id号 writeProcessPid() + + //5.监听程序退出信号&性能报告 bRun := true var pProfilerTicker *time.Ticker = &time.Ticker{} if profilerInterval>0 { pProfilerTicker = time.NewTicker(profilerInterval) } - for bRun { select { case <-sigs: @@ -137,6 +140,7 @@ func startNode(paramNodeId interface{}) error { } } + //6.退出 close(closeSig) service.WaitStop() diff --git a/service/service.go b/service/service.go index 170ab59..2c33c5a 100644 --- a/service/service.go +++ b/service/service.go @@ -70,7 +70,6 @@ func (slf *Service) Init(iservice IService,getClientFun rpc.FuncRpcClient,getSer slf.serviceCfg = serviceCfg slf.gorouterNum = 1 slf.eventHandler.Init(&slf.eventProcessor) - slf.self.OnInit() } func (slf *Service) SetGoRouterNum(gorouterNum int32) bool { diff --git a/service/servicemgr.go b/service/servicemgr.go index f41ddd8..0af3a7b 100644 --- a/service/servicemgr.go +++ b/service/servicemgr.go @@ -1,7 +1,5 @@ package service -import "github.com/duanhf2012/origin/log" - //本地所有的service var mapServiceName map[string]IService @@ -13,24 +11,18 @@ func Init(chanCloseSig chan bool) { closeSig=chanCloseSig for _,s := range mapServiceName { - err := s.OnInit() - if err!=nil { - log.Fatal("start server fail :%+v.....",err) - } + s.OnInit() } } func Setup(s IService) bool { - _,ok := mapServiceName[s.GetName()] if ok == true { return false } - //s.Init(s) mapServiceName[s.GetName()] = s - return true }