Juice分布式任务调度云系统
Juice 是沪江( hujiang )学习系统项目组( LMS )所开发的一套基于 Mesos Framework 的分布式任务调度云系统,基于此系统,可以实现任何作业型任务的调度工作。
耗时计算型任务处理在沪江一直是个持续的需求,例如多媒体转码、Map Reduce、密集计算等等任务。在 Juice 出现以前,各个项目组各显神通,开发着不同的任务处理系统,不但耗费人力,还特别耗费服务器。 Juice 利用 Mesos 集群空闲的计算能力,负责统一的接口返回和任务查询功能,其优点如下:
-
基于 Mesos 集群,最大程度利用空闲资源完成耗时计算
-
异步调度,并提供结果查询和回调两种方法获取执行结果
-
分布式管理,所有耗时任务都在资源池中无状态调度。
-
任务查询,目前只开放通过接口查询任务的状态和结果。
How To Use Juice
创建任务步骤:
-
开发能够使用 Docker 启动的任务(主业务逻辑)并 PUSH 到 Docker 镜像仓库。
-
调用 Juice API 发起任务
-
等待回调结果,或主动 fetch 结果
Juice最适合运行Docker任务,通常做法将Jar包打入一个Docker镜像,提交此镜像到dockerhub上,提交一个Container模式的任务到到Juice,其中参数dockerImage为Docker镜像名。 Juice会自动的寻找一个合适的Agent来执行此任务,调用方不必关心在哪个Host上执行,而只需要关心任务是否执行成功即可。
评论