当前位置: 首页 > 科技观察

不容错过的新一代分布式任务调度与计算框架

时间:2023-03-12 01:15:36 科技观察

PowerJob(原OhMyScheduler)是新一代分布式调度与计算框架,让您轻松完成复杂任务的作业调度与分布式计算。项目地址:https://github.com/KFCFans/PowerJob?utm_source=tuicool&utm_medium=referral简介主要特点简单易用:提供前端web界面,让开发者可视化完成调度任务的管理(增、删)、修改、检查)、任务运行状态监控和运行日志查看等功能。完善的定时策略:支持四种定时调度策略:CRON表达式、固定频率、固定延迟和API。丰富的执行模式:支持单机、广播、Map、MapReduce四种执行模式。其中,Map/MapReduce处理器使开发者仅需几行代码即可获得集群分布式计算能力。DAG工作流支持:支持在线配置任务依赖,可视化安排任务,也支持上下游任务之间的数据传递Executor支持广泛:支持SpringBean、内置/外部Java类、Shell、Python等,广泛的应用。运维便捷:支持在线日志功能,执行器产生的日志可以实时显示在前端控制台页面,降低调试成本,大大提高开发效率。依赖简化:最小只依赖关系型数据库(MySQL/Oracle/MSSQLServer...),扩展依赖为MongoDB(用于存储庞大的在线日志)。高可用&高性能:调度服务器经过精心设计,改变了其他调度框架基于数据库锁的策略,实现了无锁调度。部署多台调度服务器可以同时实现高可用和性能提升(支持无限水平扩展)。故障转移和恢复:任务执行失败后,可以根据配置的重试策略进行重试。只要执行者集群有足够的计算节点,就可以顺利完成任务。适用场景有定时执行需求的业务场景:比如每天早上全量同步数据,生成业务报表等。还有需要所有机器一起执行的业务场景:比如使用广播执行方式清理集群日志。有业务场景需要分布式处理:比如需要更新大量数据,单机执行时间长。可以使用Map/MapReduce处理器完成任务分发,调动整个集群加速计算。同类产品对比QuartZxxl-jobSchedulerX2.0PowerJob定时类型CRONCRONCRON,固定频率,固定延迟,OpenAPICRON,固定频率,固定延迟,OpenAPI任务类型内置Java内置Java,GLUEJava,Shell,Python和其他脚本内置Java,外部Java(FatJar),Shell,Python等脚本内置Java,外部Java(容器),Shell,Python等脚本无静态分片的分布式任务MapReduce动态分片MapReduce动态分片在线任务管理不支持支持支持支持日志白屏不支持支持不支持基于数据库锁的调度方式和性能,基于数据库锁的性能瓶颈,性能瓶颈未知无锁设计,性能强劲无限报警监控无emailSMS邮件,提供接口让开发者扩展系统依赖JDBC支持的关系型数据库(MySQL、Oracle...)MySQLRMB(公测期间免费,嘿嘿,帮我打个广告)SpringDataJpa支持的任何关系型数据库(MySQL、Oracle...)DAGworkStreamdoesn'tsupportsupportssupportPS:感谢文档翻译平台breword对本项目英文文档翻译的巨大贡献!参考AlibabaSchedulerX2.0Akka框架:不得不说akka-remote简化了相当一部分网络通信代码Executor架构设计:不同意这篇文章,个人感觉我的设计更符合Yarn的”建筑学”。MapReduce模型:这个想法很酷。大数据处理框架把处理器移到了数据上,但是对于传统的Java应用来说,没有必要把数据移到处理器上,这也让框架的实现变得更加简单。广播执行:runcleanuplogscripts,太实用了8~