RPC通信框架
1. 启动Master,然后内部会启动一个定时器,定期检测超时的worker,将超时的worker删除
2. Master接收到了worker发送的注册信息 , 将信息保存到内存,也可以持久化到磁盘或者zooker
3. 启动worker,跟Master简历网络连接,将自己的信息(id,内存,cpu等信息)注册给Master
4. Master向worker发送一个注册成功的消息
5. Worker接收到Master的消息后,然后启动一个定时器,向Master定期发送心跳消息,发送心跳的消息是为了报活
运行时传入参数(右上角锤子旁边的 Edit Configurations) 列如: Master: localhost 8888 Worker: localhost 8888 localhost 9999 4
也可以打包在windows上或者linux上执行
本地: java -cp 包名 master的全路径 localhost 8888
java -cp 包名 worker的全路径 localhost 8888 localhost 9999 4096 4
linux: java -cp 包名 master的全路径 192.168.133.3 8888
java -cp 包名 worker的全路径 192.168.133.3 8888 192.168.133.4 9999 4096 4
package cn.doit.rpc
import java.util.concurrent.TimeUnit
import akka.actor.{Actor, ActorSystem, Props}
import com.typesafe.config.ConfigFactory
import scala.collection.mutable
import scala.concurrent.duration._
/*
1. 启动Master,然后内部会启动一个定时器,定期检测超时的worker,将超时的worker删除
2. Master接收到了worker发送的注册信息 , 将信息保存到内存,也可以持久化到磁盘或者zooker
3. 启动worker,跟Master建立网络连接,将自己的信息(id,内存,cpu等信息)注册给Master
4. Master向worker发送一个注册成功的消息
5. Worker接收到Master的消息后,然后启动一个定时器,向Master