scheduler启动流程:
- Postoffice通过环境变量获取各个node数目,把node id添加到不同的组中(worker/server/worker+server等),阻塞等待;
- Van,绑定端口,启动Receiving线程;等待ready_==true;
- 处理ADD_NODE命令:
- 获取dead node,通过heartbeat判定
- UpdateLocalID更新本地node,
server/worker启动流程:
- Postoffice通过环境变量获取各个node数目,并加入node管理中,阻塞等待;
- Van,绑定端口,链接scheduler,启动Receiving线程;
- 向scheduler发送ADD_NODE-》PackMeta封装meta pb然后发送;
- 把node信息也发送过去
85 /** \brief the role of this node */ 86 Role role; 87 /** \brief node id */ 88 int id; 89 /** \brief customer id */ 90 int customer_id; 91 /** \brief hostname or ip */ 92 std::string hostname; 93 /** \brief the port this node is binding */ 94 int port; 95 /** \brief whether this node is created by failover */ 96 bool is_recovery;