main方法:
(1)创建RpcEnv
(2)获取masterAddress
(3)创建Worker的Endpoint
onStart方法:
(1)在启动之后,向Master以ask的方式进行注册
(2)在接收到Master的响应信息之后,进行处理
(3)每15秒以send的方式向Master发送心跳
需要注意的是:在start-all.sh脚本执行的时候,也有可能是Worker先启动而Master后启动,这样的话Worker注册的时候就可能会失败,所以会有Worker注册重试机制,重试的次数是16次:
private val INITIAL_REGISTRATION_RETRIES = 6
private val TOTAL_REGISTRATION_RETRIES = INITIAL_REGISTRATION_RETRIES + 10