-
Notifications
You must be signed in to change notification settings - Fork 0
gdding/MARC
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published