本文从多方面介绍名为Openjob的基于Akka的分布式任务调度框架,希望能为读者提供全面的了解和参考。
微信搜索关注《Java学研大本营》
1 什么是Openjob
Openjob是一种基于Akka的新分布式任务调度框架。支持多种cronjob、延迟任务和工作流,使用一致性分片算法,具备无限的水平扩展。
2 特性
Openjob不仅支持基本的cronjob,还支持延迟任务、分布式计算和工作流。
2.1 Cronjob
Openjob支持Cronjob任务调度,具备以下特点:
-
支持Unix Crontab表达式
-
秒级别,执行周期小于60秒
-
固定频率,以分钟为单位执行任务
2.2 延迟任务
Openjob支持基于Redis的分布式高性能延迟任务,并提供丰富的报告和统计信息,这种延迟任务能够保证高效、可靠地执行。
2.3 分布式计算
Openjob支持分布式计算,可实现以下功能:
-
独立执行:任务可在工作客户端上独立执行。
-
广播执行:任务可在所有工作客户端上广播执行。
-
映射执行:映射函数可以将大数据分发到多台机器上执行,类似于Hadoop map
-
MapReduce:MapReduce是Map的扩展。在所有Map子任务完成后,执行Reduce方法,可以在Reduce方法中处理任务执行的结果和数据。
-
分片:类似于Elastic-Job模型,在管理上配置分片数,可以通过分片调度到不同的客户端,并支持多种语言。
2.4 处理器
Openjob提供处理器功能,可通过函数或类执行任务,支持Java、Golang和PH语言。同时,还支持以下处理器类型:
-
HTTP:可用于定期请求HTTP。
-
Shell:可用于执行shell脚本。
2.5 可视化操作
Openjob提供可视化操作功能,包含以下内容:
-
仪表板:提供丰富的任务统计和报告功能,方便用户对任务执行情况进行实时监控和分析。
-
任务历史记录:记录任务执行的历史记录,方便用户查看任务的执行情况和结果。
-
任务日志:提供完整的任务日志,并支持存储到H2、Mysql、Elasticsearch等多种数据库中,方便用户查询和分析任务执行的详细信息。
-
任务运行栈:详细记录任务执行的栈信息,方便用户排查任务执行中的问题和错误。
2.6 警报和权限
Openjob提供警报和权限管理功能,包括以下内容:
-
提供任务事件监控警报、详细的警报历史记录,并支持微信、飞书和Webhook触发器通知。
-
设计有命名空间,支持按按钮级别访问控制,方便用户对复杂项目进行管理和维护。
2.7 多种语言
Openjob支持多种语言和框架,包括以下内容:
-
Java和其框架:原生支持。
-
Go:支持使用go mod install命令来管理Go语言的依赖。
-
PHP:支持使用Golang代理以shell模式执行任务,同时支持Swoole框架的composer install命令。
-
Python支持使用Golang代理以shell模式执行任务,方便用户使用Python语言编写任务。
3 应用场景
Openjob非常适用于具有任务调度和延迟任务的业务场景,例如每天清理数据和生成报告。它还适用于轻量级计算,通过Map/MapReduce可以方便地进行大数据计算。对于复杂的任务流或工作流,Openjob也提供了相应的UI设计工具,方便用户进行可视化的流程设计和管理。因此,Openjob是一个功能强大、灵活性高的分布式任务调度框架,适用于各种规模和类型的业务场景。
推荐书单
IT BOOK 多得(点击查看5折活动书单)
https://u.jd.com/psx2y1M
《Java语言程序设计(第3版)》
“十二五”普通高等教育本科国家级规划教材,畅销Java程序设计教材,已经被几百所高校选为教材。
本书第1版于2005年出版。第2版于2010年出版,是普通高等教育“十一五”国家级规划教材。第3版入选“十二五”高等教育本科国家级规划教材。 本书在介绍Java语言的同时,更注重Java语言的知识体系,系统性地分析了Java核心机制与基本原理。全书分为核心基础篇与应用技术篇。在核心基础篇中, 论述了面向对象程序设计的基本概念、Java语言基础(包括运算符与表达式、程序流控制、数组)、Java面向对象特性、异常处理方法、基于Swing的图形化用 户界面构造方法、输入/输出、Applet概念与应用。应用技术篇介绍了开发Java的高级应用技术,包括多线程、网络编程、JDBC数据库连接、J2EE技术、功能驱 动的Java程序开发方法以及Java编程规范。书中还提供了大量实例。 本书具有系统性、知识性、实用性等特点,可以作为大专院校教材,也可作为Java编程爱好者的参考书。
京东安全https://item.jd.com/11949337.html
精彩回顾
微信搜索关注《Java学研大本营》
访问【IT今日热榜】,发现每日技术热点