《表1 REST接口设计:一种轻量级分布式作业管理系统的设计与实现》
Master端的程序主要由消息监听器、作业调度器、状态管理器组成,命令行入口如图3(b)所示。消息监听器在指定端口开启HTTP监听服务并将Master内部的核心功能抽象为REST接口[9](定义见表1),同时接收来自Client端和Slave端的消息请求并将接收到的请求分发到不同的模块进行处理。作业调度器在收到Client端或者Slave端的作业操作请求时将根据作业操作类型进行相应的操作。新建作业时,作业调度器将依据作业调度算法为作业分配ID和Slave执行节点,并将作业转发给Slave节点执行。查询作业时,作业调度器从状态管理器的作业状态表中获取指定作业的状态信息并返回给Client端。终止作业时,作业调度器从状态管理器的作业状态表获取作业状态信息和执行节点,并将终止作业的消息转发给Slave执行节点。状态管理器负责管理集群的元信息,主要有作业状态表和Slave状态表,每当Master收到作业消息或Slave状态消息时,状态管理器就会对相应的状态表进行登记、更新以及删除等操作。同时,为了提升Master节点的容错能力,加快Master节点的故障恢复速度,状态管理器也会定期开启单独的后台线程将状态表刷写到磁盘文件中。
图表编号 | XD0091304600 严禁用于非法目的 |
---|---|
绘制时间 | 2019.01.20 |
作者 | 张裕、牛北方 |
绘制单位 | 中国科学院大学计算机网络信息中心、中国科学院大学、中国科学院大学计算机网络信息中心、中国科学院大学 |
更多格式 | 高清、无水印(增值服务) |