golang实现简易的分布式系统方法

  

本文介绍了golang实现简易的分布式系统方法,分享给大家,具体如下:

  

<强>功能

  
      <李>能够发送/接收请求和响应李   <李>能够连接到集群李   <李>如果无法连接到群集(如果它是第一个节点),则可以作为主节点启动节点李   <李>每个节点有唯一的标识李   <李>能够在节点之间交换json数据包李   <李>接受命令行参数中的所有信息(将来在我们系统升级时将会很有用)   
  

<>强源码
  

        主要包      导入(   “fmt”   “strconv”   “时间”   “数学/兰德”   “净”   “国旗”   “弦”   “编码/json”   )//节点数据信息   NodeInfo struct类型{//节点ID,通过随机数生成   NodeId int的json:“NodeId”//节点IP地址   NodeIpAddr字符串的json:“NodeIpAddr”//节点端口   港口字符串的json:“端口”   }//将节点数据信息格式化输出//NodeInfo: {nodeId: 89423, nodeIpAddr: 127.0.0.1/8,端口:8001}   func(节点* NodeInfo)字符串String () {      返回“NodeInfo: {nodeId:“+ strconv.Itoa (node.NodeId) +”, nodeIpAddr:“+节点。NodeIpAddr +”,端口:”+节点。港口+“}”   }/*添加一个节点到集群的一个请求或者响应的标准格式*/AddToClusterMessage struct类型{//源节点   源NodeInfo json:“源”的//目的节点   桌子NodeInfo json:“桌子”//两个节点连接时发送的消息   消息字符串的json:“消息”   }/*请求/响应信息格式化输出*/func(点播AddToClusterMessage)字符串String () {   返回“AddToClusterMessage: {\ n来源:“+ req.Source.String () + ", \ n桌子:“+ req.Dest.String() +”,消息:\ n”+点播。信息+“}”   }//猫vi//rm      函数main () {//解析命令行参数   makeMasterOnError:=国旗。Bool (“makeMasterOnError”、虚假,“如果IP地址没有连接到集群中,我们将其作为大师节点。”)   clusterip:=国旗。字符串(“clusterip”、“127.0.0.1:8001”,“任何的节点连接都连接这个IP”)   myport:=国旗。字符串(“myport”,“8001”,“运行这个节点ip地址>/用户/liyuechun/走   liyuechun:去yuechunli $去安装主要   liyuechun: yuechunli主要美元   我的细节:NodeInfo: {nodeId: 53163002, nodeIpAddr: 127.0.0.1/8,端口:8001}   不能连接到集群。53163002   退出系统。设置makeMasterOnError标志节点的主人。53163002   liyuechun:去yuechunli $      

获取相关帮助信息
  

        美元。/bin/主要- h            liyuechun:去yuechunli。美元/bin/主要- h   使用/bin/主要:   -clusterip字符串   照样ip地址的任何节点联系(默认“127.0.0.1:8001”)   -makeMasterOnError   把这个节点主如果无法连接到集群ip提供。   -myport字符串   运行这个节点ip地址>   美元。/bin/主要——makeMasterOnError            liyuechun:去yuechunli。美元/bin/主要——makeMasterOnError   我的细节:NodeInfo: {nodeId: 82381143, nodeIpAddr: 127.0.0.1/8,端口:8001}   未连接到集群。82381143   将开始这个节点为主。      

<强>添加节点Node2到集群
  

        美元。/bin/主要——8002年myport clusterip 127.0.0.1:8001      

<强>添加节点Node3到集群
  

        主要——8004年myport clusterip 127.0.0.1:8001      

<强>添加节点Node4到集群
  

        主要——myport 8003美元——clusterip 127.0.0.1:8002      

 golang实现简易的分布式系统方法

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

golang实现简易的分布式系统方法