分布式任务调度调研

批处理服务/调度中心

  • 现在多数是通过消息队列和workflow engnie来调度。但是,部分C#和Java代码是通过单线程来运行的。
  • 需要管理跑批的依赖关系
  • 看看是否可以使用Spring Batch、Dangdang也有一个框架ElasticJob
  • 多个任务的组合、调度与监控

解决方案

重点解决各项目组的跑批任务调度问题,使用azkaban做分布式任务调度系统。azkaban的连接:https://azkaban.github.io/

任务调度系统基本功能

  • 支持多个任务的并发与顺序依赖调度,并有对应的DAG图展示;
  • 支持任务的编写类型,如unix shell等;
  • 节点任务控制,如支持某些任务跳过、失败重试、立即执行、指定时间周期性执行;
  • 监控任务执行状态,并支持报警通知;
  • metrics,支持一段时间内任务的运行时间查看;
  • 通过ui查看与编辑。

补充需求:

  • 支持相互依赖的任务之间的时间停顿,举例,b依赖于a成功执行后二十分钟之后再触发;
  • 支持多种任务依赖回调方式,http请求回调依赖?queue?
  • 支持任务执行失败后的回调操作。
  • 可以暂停、启动定时任务                                                      
  • 支持queue、topic                                                           
  • 任务的分布式(多个节点并发执行同一个任务)调度执行   

为什么选azkaban

  • 任务调度系统的基本功能都支持;
    • 监控报警支持成功、失败、结束、一段时间内部不成功/结束发送报警邮件。
    • 支持command和java编写job
  • 使用java语言,二次开发方便;
  • 支持unix cron trigger的语法配置job的执行计划,学习成本低;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值