新增私有结点功能

This commit is contained in:
boyce
2020-11-05 09:42:45 +08:00
parent e91dccca7d
commit 12cd732a4a
2 changed files with 6 additions and 1 deletions

View File

@@ -52,6 +52,7 @@ cluster.json如下
"NodeList":[ "NodeList":[
{ {
"NodeId": 1, "NodeId": 1,
"Private": false,
"ListenAddr":"127.0.0.1:8001", "ListenAddr":"127.0.0.1:8001",
"NodeName": "Node_Test1", "NodeName": "Node_Test1",
"remark":"//以_打头的表示只在本机进程不对整个子网开发", "remark":"//以_打头的表示只在本机进程不对整个子网开发",
@@ -59,6 +60,7 @@ cluster.json如下
}, },
{ {
"NodeId": 2, "NodeId": 2,
"Private": false,
"ListenAddr":"127.0.0.1:8002", "ListenAddr":"127.0.0.1:8002",
"NodeName": "Node_Test1", "NodeName": "Node_Test1",
"remark":"//以_打头的表示只在本机进程不对整个子网开发", "remark":"//以_打头的表示只在本机进程不对整个子网开发",
@@ -69,6 +71,7 @@ cluster.json如下
--------------- ---------------
以上配置了两个结点服务器程序: 以上配置了两个结点服务器程序:
* NodeId: 表示origin程序的结点Id标识不允许重复。 * NodeId: 表示origin程序的结点Id标识不允许重复。
* Private: 是否私有结点如果为true表示其他结点不会发现它但可以自我运行。
* ListenAddr:Rpc通信服务的监听地址 * ListenAddr:Rpc通信服务的监听地址
* NodeName:结点名称 * NodeName:结点名称
* remark:备注,可选项 * remark:备注,可选项
@@ -257,6 +260,7 @@ func main(){
"NodeList":[ "NodeList":[
{ {
"NodeId": 1, "NodeId": 1,
"Private": false,
"ListenAddr":"127.0.0.1:8001", "ListenAddr":"127.0.0.1:8001",
"NodeName": "Node_Test1", "NodeName": "Node_Test1",
"remark":"//以_打头的表示只在本机进程不对整个子网开发", "remark":"//以_打头的表示只在本机进程不对整个子网开发",

View File

@@ -14,6 +14,7 @@ var configDir = "./config/"
type NodeInfo struct { type NodeInfo struct {
NodeId int NodeId int
NodeName string NodeName string
Private bool
ListenAddr string ListenAddr string
ServiceList []string ServiceList []string
} }
@@ -81,7 +82,7 @@ func (cls *Cluster) delServiceNode(serviceName string,nodeId int){
} }
func (cls *Cluster) serviceDiscoverySetNodeInfo (nodeInfo *NodeInfo){ 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 return
} }