前言
继前一篇文章关于task被overload分配到zk上的流程分析,那么MiddleManager又是如何获取到zk上的task信息并启动Peon来真正运行起task的呢?
上图
overload将task信息放到zk上之后,middleManager会有监听管理器WorkerTaskMonitor, 该监听管理器会启动一个操作zk的类PathChildrenCache来持续监听zk相关路径下的信息变动。 middlemanager获取到task后,对task进行反序列化形成task对象放入WorkerTaskMonitor管理的一个map中并开始提交关于运行task的任务。在运行task之前会更新zk相关路径下关于该task的状态供overload关注。
midd