简述
简单的定时任务通过QuartZ可以实现,但随着业务的增多,需要监控定时任务。QuartZ就无法满足场景了。很多朋友都了解过xxl-job,这是一款非常优秀的分布式定时任务调度框架。今天给大家带来的是另一款开源的分布式调度与计算框架。是的不仅仅是任务调度还包含计算。
项目地址
https://github.com/KFCFans/PowerJob
主要特性
使用简单:提供前端Web界面,允许开发者可视化地完成调度任务的管理(增、删、改、查)、任务运行状态监控和运行日志查看等功能。
定时策略完善:支持CRON表达式、固定频率、固定延迟和API四种定时调度策略。
执行模式丰富:支持单机、广播、Map、MapReduce四种执行模式,其中Map/MapReduce处理器能使开发者寥寥数行代码便获得集群分布式计算的能力。
DAG工作流支持:支持在线配置任务依赖关系,可视化得对任务进行编排,同时还支持上下游任务间的数据传递
执行器支持广泛:支持Spring Bean、内置/外置Java类、Shell、Python等处理器,应用范围广。
运维便捷:支持在线日志功能,执行器产生的日志可以在前端控制台页面实时显示,降低debug成本,极大地提高开发效率。
依赖精简:最小仅依赖关系型数据库(MySQL/Oracle/MS SQLServer...),扩展依赖为MongoDB(用于存储庞大的在线日志)。
高可用&高性能:调度服务器经过精心设计,一改其他调度框架基于数据库锁的策略,实现了无锁化调度。部署多个调度服务器可以同时实现高可用和性能的提升(支持无限的水平扩展)。
故障转移与恢复:任务执行失败后,可根据配置的重试策略完成重试,只要执行器集群有足够的计算节点,任务就能顺利完成。
架构图
与xxl-job 对比
搜更多精彩内容
PowerJob
总结
头条还真有意思,搜索卡居然加入xxl-job。xxl-job与powerjob都是现在非常流行的调度框架,也是现在开源市场中比较稳定,极其优秀。两个框架本身并没有高低之分,只要是能满足自己的应用场景每款产品都可以。
本文只是给予一个更多的选择。
你们现在用的分布式任务调度框架是哪款呢?
领取专属 10元无门槛券
私享最新 技术干货