From 2fc1217b18456697535b782e7e6c9c1836443e33 Mon Sep 17 00:00:00 2001 From: boyce Date: Wed, 4 Nov 2020 10:56:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=A7=81=E6=9C=89=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=8A=9F=E8=83=BD(=E7=BB=93=E7=82=B9=E4=B8=AD?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E9=85=8D=E7=BD=AE=E5=8A=A0=E5=89=8D=E7=BC=80?= =?UTF-8?q?=5F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cluster/configdiscovery.go | 14 +++++++++ cluster/parsecfg.go | 7 +++++ rpc/rpc.go | 4 +++ rpc/rpchandler.go | 56 ++++++++++++++++++--------------- sysservice/tcpgateway/Router.go | 14 ++++----- 5 files changed, 63 insertions(+), 32 deletions(-) diff --git a/cluster/configdiscovery.go b/cluster/configdiscovery.go index a3b1685..1735f21 100644 --- a/cluster/configdiscovery.go +++ b/cluster/configdiscovery.go @@ -1,5 +1,6 @@ package cluster +import "strings" type ConfigDiscovery struct { funDelService FunDelNode @@ -7,6 +8,17 @@ type ConfigDiscovery struct { localNodeId int } +func (discovery *ConfigDiscovery) privateService(nodeInfo *NodeInfo){ + var serviceList []string + for _,s := range nodeInfo.ServiceList { + if strings.HasPrefix(s,"_") { + continue + } + serviceList = append(serviceList,s) + } + nodeInfo.ServiceList = serviceList +} + func (discovery *ConfigDiscovery) Init(localNodeId int) error{ discovery.localNodeId = localNodeId @@ -20,6 +32,8 @@ func (discovery *ConfigDiscovery) Init(localNodeId int) error{ if nodeInfo.NodeId == localNodeId { continue } + //去除私有服务 + discovery.privateService(&nodeInfo) discovery.funSetService(&nodeInfo) } diff --git a/cluster/parsecfg.go b/cluster/parsecfg.go index 346ea6a..9b0ef7c 100644 --- a/cluster/parsecfg.go +++ b/cluster/parsecfg.go @@ -146,6 +146,12 @@ func (cls *Cluster) parseLocalCfg(){ } } +func (cls *Cluster) localPrivateService(localNodeInfo *NodeInfo){ + for i:=0;i0 { - r.rpcHandler.RawGoNode(rpc.RpcProcessorPb,routerId,routerInfo.Rpc,RawInputArgs{rawData: msg,clientId: clientId}) + r.rpcHandler.RawGoNode(rpc.RpcProcessorPb,routerId,routerInfo.Rpc,RawInputArgs{rawData: msg,clientId: cliId}) } } @@ -243,7 +243,7 @@ func (r *Router) RouterEvent(clientId uint64,eventType string) bool{ routerId := r.GetRouterId(clientId,&routerInfo.ServiceName) if routerId ==0 { routerId = r.loadBalance.SelectNode(routerInfo.ServiceName) - r.SetRouterId(clientId,&routerInfo.ServiceName,routerId) + r.SetRouterId(clientId,routerInfo.ServiceName,routerId) } if routerId>0 {