新增私有结点功能

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":[
{
"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":"//以_打头的表示只在本机进程不对整个子网开发",

View File

@@ -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
}