From 12cd732a4a6eaad2e793df0328d9ce9ae45cb41b Mon Sep 17 00:00:00 2001 From: boyce Date: Thu, 5 Nov 2020 09:42:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=A7=81=E6=9C=89=E7=BB=93?= =?UTF-8?q?=E7=82=B9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++++ cluster/cluster.go | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fecbba2..3ef3448 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ cluster.json如下: "NodeList":[ { "NodeId": 1, + "Private": false, "ListenAddr":"127.0.0.1:8001", "NodeName": "Node_Test1", "remark":"//以_打头的,表示只在本机进程,不对整个子网开发", @@ -59,6 +60,7 @@ cluster.json如下: }, { "NodeId": 2, + "Private": false, "ListenAddr":"127.0.0.1:8002", "NodeName": "Node_Test1", "remark":"//以_打头的,表示只在本机进程,不对整个子网开发", @@ -69,6 +71,7 @@ cluster.json如下: --------------- 以上配置了两个结点服务器程序: * NodeId: 表示origin程序的结点Id标识,不允许重复。 +* Private: 是否私有结点,如果为true,表示其他结点不会发现它,但可以自我运行。 * ListenAddr:Rpc通信服务的监听地址 * NodeName:结点名称 * remark:备注,可选项 @@ -257,6 +260,7 @@ func main(){ "NodeList":[ { "NodeId": 1, + "Private": false, "ListenAddr":"127.0.0.1:8001", "NodeName": "Node_Test1", "remark":"//以_打头的,表示只在本机进程,不对整个子网开发", diff --git a/cluster/cluster.go b/cluster/cluster.go index 85e3e06..6c5da83 100644 --- a/cluster/cluster.go +++ b/cluster/cluster.go @@ -14,6 +14,7 @@ var configDir = "./config/" type NodeInfo struct { NodeId int NodeName string + Private bool ListenAddr string ServiceList []string } @@ -81,7 +82,7 @@ func (cls *Cluster) delServiceNode(serviceName string,nodeId int){ } func (cls *Cluster) serviceDiscoverySetNodeInfo (nodeInfo *NodeInfo){ - if nodeInfo.NodeId == cls.localNodeInfo.NodeId { + if nodeInfo.NodeId == cls.localNodeInfo.NodeId || len(nodeInfo.ServiceList)==0 || nodeInfo.Private == true { return }