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