From 49545403b189adae130f4f57062a0e9ee73f526b Mon Sep 17 00:00:00 2001 From: learnmore2019 <772381604@qq.com> Date: Wed, 17 Apr 2019 20:25:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=B9=E6=8D=AE=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=90=8D=E6=89=BEnodeid=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cluster/cluster.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/cluster/cluster.go b/cluster/cluster.go index 4de94d2..420680a 100644 --- a/cluster/cluster.go +++ b/cluster/cluster.go @@ -298,6 +298,27 @@ func (slf *CCluster) GetNodeList(NodeServiceMethod string, rpcServerMethod *stri return nodeidList } +//GetNodeIdByServiceName 根据服务名查找nodeid servicename服务名 bOnline是否需要查找在线服务 +func (slf *CCluster) GetNodeIdByServiceName(servicename string, bOnline bool) []int { + nodeIDList := slf.cfg.GetIdByService(servicename) + + if bOnline { + ret := make([]int, 0, len(nodeIDList)) + for _, nodeid := range nodeIDList { + if slf.CheckNodeIsOnlineByID(nodeid) { + ret = append(ret, nodeid) + } + } + return ret + } + + return slf.cfg.GetIdByService(servicename) +} + +func (slf *CCluster) CheckNodeIsOnlineByID(nodeid int) bool { + return true +} + func (slf *CCluster) Go(bCast bool, NodeServiceMethod string, args interface{}, queueModle bool) error { var callServiceName string var serviceName string @@ -410,6 +431,11 @@ func CastGoQueue(NodeServiceMethod string, args interface{}) error { return InstanceClusterMgr().Go(true, NodeServiceMethod, args, true) } +//GetNodeIdByServiceName 根据服务名查找nodeid serviceName服务名 bOnline是否需要查找在线服务 +func GetNodeIdByServiceName(serviceName string, bOnline bool) []int { + return InstanceClusterMgr().GetNodeIdByServiceName(serviceName, bOnline) +} + var _self *CCluster func InstanceClusterMgr() *CCluster {