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 {