分为master和worker节点,master负责接收worker的连接请求以及心跳信息,向worker发送开始/停止工作的命令,节点之间通过gin构建的后端程序以及发送http请求来通信。同时返回前端页面实现网页控制以及所有worker节点的信息查看。worker
- worker在未连接状态下持续(每2s)向主节点发送连接请求,目标地址端口在config.json文件中保存并使用viper读取
- worker连接成功后持续获取本机的CPU信息并向主机心跳信息用于保持连接状态不丢失
- master持续检测工人的心跳,如果有某个心跳超过10s未更新则关闭与其的连接
- 添加批量启动或停止的按钮,一次性控制所有节点。
- 工人向主机发送消息的type=1,心跳信息
- 工人向主机发送消息的type=2,计算结果及值
- 主机向工人发送消息的type=3,开始或停止工作
- 主机向工人发送消息的type=4,清零工作量值
-
启动master节点,后加参数0即可,示例:
./run_win.exe 0 ./run_linux 0
-
启动worker节点
- 首先在根目录下创建
config.json
文件,格式如下:
host为要远程连接的主机的地址和端口,name给本机一个让人易明白的名字
{ "host_address":"lzh.zzdx.gay", "host_port":55156, "name":"张三的XX机" }
- 直接执行命令,不加任何参数
./run_win.exe ./run_linux # 或者后台运行 nohup ./run-linux 2>&1 &
- 首先在根目录下创建