Skip to content

gdding/MARC

Repository files navigation

# -----------------------------------------------------------------------------------------------------------------------
# MARC是一个分布式的运行框架,由三个部分组成:Master节点、Result节点和Client节点。MARC中的几个字母分别表示:
# M - Master, A - Application, R - Resut, C - Client。其具体的功能简要描述如下。
# 【Master】
# Master是整个框架的“管理者”,在整个框架中只有一个Master节点(可配置一个备份节点),其职责是:
# (1) 接收各Client节点、Result节点的注册请求和运行状态信息;
# (2) 在Client节点需要任务时自动调用用户编写的任务生成程序,并将其生成的任务下发给Client节点;
# (3) 将任务执行结果的存储服务地址告知Client节点(即相应的Result节点地址);
# (4) 监控各个Client节点的任务执行情况,等等。
# 【Application】
# Application为用户的应用程序。MARC系统只是一个运行框架,具体用来干什么,是用户应用程序所赋予的功能。具体来说,
# MARC框架的使用者可按照MARC提供的接口规范分别编写部署在Master节点上的“任务生成程序”、部署在Client节点上的
# “任务执行程序”和部署在Result节点上的“结果处理程序”,这三个用户应用程序与MARC框架共同组成了一个基于任务的分布
# 式运行系统,其基本流程是:“任务生成->任务下载->任务执行->结果回传->结果存储”,具体地:
# (1) 任务生成:在Master节点,MARC框架会自动监测每个Client节点的任务执行状况,当某个Client节点需要任务时,
#      MARC框架会自动调用用户的“任务生成程序”。
# (2) 任务下载:当Client节点从Master节点获知其任务生成完成后,Client节点自动从Master节点下载生成的任务数据。
#      为提高传输效率,任务数据首先在Master节点经过压缩处理,Client节点接收完成后再进行解压。
# (3) 任务执行:Client节点得到任务后,MARC框架会自动调用用户的任务执行程序(以异步、非阻塞的方式执行)。
# (4) 结果回传:Client节点的任务执行程序运行完成后,MARC框架会自动将任务执行的结果上传到Result节点(Master节点
#      会告知Client节点其任务执行结果应该上传到哪个Result节点)。
# (5) 结果处理:Result节点在接收完Client节点上传的任务执行结果后,会自动调用用户的“结果处理程序”,完成比如结果
#      入库或其他的处理工作。
# 以上各个过程之间是可以并行进行的,如可设置为异步上传策略,这样当任务执行完成后,可以马上获取新任务而不必等待结果上传完毕。
# 【Result】
# Result节点是整个框架的结果收集和处理端,在整个MARC框架中可以是一个或者多个节点。负责接收Client节点上传的任务
# 执行结果,并自动调用用户的结果处理程序完成对任务执行结果的处理工作。
# 【Client】
# Client节点是MARC框架中的任务执行端,在整个MARC框架中可以部署多个Client节点。负责执行Master节点下发的任务。
# 
# Author: Gordon Ding, [email protected]
# -----------------------------------------------------------------------------------------------------------------------

About

分布式任务调度与执行框架

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published