Juice - 分布式任务调度云系统


GPL
跨平台
Java

软件简介

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上执行,而只需要关心任务是否执行成功即可。