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上执行,而只需要关心任务是否执行成功即可。
  • 前言 最近通过一些渠道得知了OWASP的官方靶场OWASP juice shop就打算玩一下。因此准备centos7使用docker来安装靶场容器。 docker是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 看起来有点雾,用过虚拟机

 相关资料
  • 我在Openshift集群上安装了一个Spring Cloud数据流。我尝试注册一个应用程序,然后创建一个任务,一切都很好,但当我试图安排任务时,我遇到了以下异常: 我不知道这是什么意思,我是Dataflow的新手。我不明白为什么他试图使用Maven而不是kubernetes部署器,也不明白为什么我会出现这个错误。有人能再给我解释一下吗? 顺便说一句,我将这些应用程序注册为docker容器。

  • 简介 在过去,开发者必须在服务器上为每个任务生成单独的 Cron 项目。而令人头疼的是任务调度不受源代码控制,而且必须通过 SSH 连接到服务器上来增加 Cron 项目。 Laravel 的命令调度程序允许你在 Laravel 中对命令调度进行清晰流畅的定义。并且在使用调度程序时,只需要在服务器上增加一条 Cron 项目即可。调度是在 app/Console/Kernel.php 文件的 sche

  • 基本任务调度 方案1: 通过 @Cron 注解,这个需要依赖 cron4j 框架: //1分钟执行一次 @Cron("*/1 * * * *") public class MyTask implements Runnable { @Override public void run() { System.out.println("task running...");

  • 在这最后一章中,我们将回到:kv应用程序,给它添加一个路由层,使之可以根据桶的名字,在各个节点间分发请求。 路由层会接收一个如下形式的路由表: [{?a..?m, :"foo@computer-name"}, {?n..?z, :"bar@computer-name"}] 路由者(负责转发请求的角色,可能是个节点)将根据桶名字的第一个字节查这个路由表, 然后根据路由表所示将用户对桶的请求发给相应

  • 每隔一段时间需要调度任务执行,也许你想注册一个任务在客户端完成连接5分钟后执行,一个常见的用例是发送一个消息“你还活着?”到远端通,如果远端没有反应,则可以关闭通道(连接)和释放资源。 本节介绍使用强大的 EventLoop 实现任务调度,还会简单介绍 Java API的任务调度,以方便和 Netty 比较加深理解。 使用普通的 Java API 调度任务 在 Java 中使用 JDK 提供的 S

  • ShardingSphereTransactionManager SPI 名称 详细说明 ShardingSphereTransactionManager 分布式事务管理器 已知实现类 详细说明 XAShardingSphereTransactionManager 基于 XA 的分布式事务管理器 SeataATShardingSphereTransactionManager 基于 Seata 的分

  • ShardingSphere-Proxy 接入的分布式事务 API 同 ShardingSphere-JDBC 保持一致,支持 LOCAL,XA,BASE 类型的事务。 XA 事务 ShardingSphere-Proxy 原生支持 XA 事务,默认的事务管理器为 Atomikos。 可以通过在 ShardingSphere-Proxy 的 conf 目录中添加 jta.properties 来定

  • 通过 Apache ShardingSphere 使用分布式事务,与本地事务并无区别。 除了透明化分布式事务的使用之外,Apache ShardingSphere 还能够在每次数据库访问时切换分布式事务类型。 支持的事务类型包括 本地事务、XA事务 和 柔性事务。可在创建数据库连接之前设置,缺省为 Apache ShardingSphere 启动时的默认事务类型。