akka现有的分布式定时任务框架总结

根据你的需求,以下是一些基于 Akka 实现的分布式定时任务框架,以及相关的 GitHub 项目推荐:

1. Openjob

Openjob 是一个基于 Akka 架构的新一代分布式任务调度框架,支持多种定时任务、延时任务、工作流设计,采用无中心化架构,底层使用一致性分片算法,支持无限水平扩容。

  • 特性

    • 高可靠:分布式无状态设计,支持多样的数据库(H2/MySQL/PostgreSQL/Oracle/TiDB)。

    • 高性能:底层使用一致性分片算法,全程无锁化设计,任务调度精确到秒级别,支持轻量级分布式计算、无限水平扩容。

    • 定时调度:支持分布式定时任务、固定频率任务、高性能秒级任务、一次性任务定时调度。

    • 分布式计算:支持单机、广播、Map、MapReduce 和分片多种分布式编程模型,轻松实现大数据分布式计算。

    • 延时任务:基于 Redis 实现高性能延时任务,底层实现任务多级存储,提供丰富的统计和报表。

    • 工作流:内置工作流调度引擎,支持可视化 DAG 设计,简单高效实现复杂任务调度。

    • 权限管理:完善的用户管理,支持菜单、按钮以及数据权限设置,灵活管理用户权限。

    • 报警监控:全面的监控指标,丰富及时的报警方式,便于运维人员快速定位和解决线上问题。

    • 跨语言:原生支持 Java/Go/PHP/Python 多语言,以及 Spring Boot、Gin、Swoft 等框架集成。

  • GitHub 项目地址:Openjob GitHub 。

2. k-job

k-job 是一个基于 PowerJob 重写和重构的分布式任务框架,支持定时任务、负载均衡和 OpenAPI 异步调用。

  • 特性

    • 支持定时任务频繁创建和任务参数频繁动态变动的场景。

    • 支持大量定时任务并发执行,实现负载均衡。

    • 主要针对小型任务,无需过多配置,不对任务实例进行操作。

  • 技术选型

    • 通信:gRPC(基于 Netty 的 NIO)。

    • 序列化:Protobuf 编码格式。

    • 负载均衡:自实现的注册中心 NameServer。

    • 消息队列:自实现的简易消息队列,支持异步发送、超时重试和多级延时队列。

    • 定时调度:时间轮算法。

  • GitHub 项目地址:k-job GitHub 。

3. Akka Quartz Scheduler

Akka Quartz Scheduler 是一个为 Akka 添加定时任务管理的工具,基于 Quartz 调度器实现。

  • 特性

    • 结合 Akka 的 Actor 模型和 Quartz 的调度功能,实现定时任务的管理。

    • 支持复杂的调度策略和任务持久化。

  • GitHub 项目地址:Akka Quartz Scheduler GitHub 。

4. ShedLock

虽然 ShedLock 不是基于 Akka 的,但它是一个轻量级的分布式锁解决方案,可以与 Spring 的 @Scheduled 注解配合使用,确保分布式环境下的任务只被一个实例执行。

  • 特性

    • 支持多种数据库(如 MySQL、PostgreSQL 等)作为锁存储。

    • 简单易用,与 Spring 的 @Scheduled 注解无缝集成。

    • 支持锁的超时机制,防止任务执行时间过长导致的锁无法释放。

  • GitHub 项目地址:ShedLock GitHub 。

5. Elastic-Job

Elastic-Job 是一个分布式调度解决方案,基于 Quartz 和 Zookeeper 实现。

  • 特性

    • 分布式调度协调、弹性扩容缩容、失效转移、错过执行作业重触发等。

    • 支持任务分片,确保同一分片在分布式环境中仅一个执行实例。

    • 提供丰富的作业类型和运维平台。

  • GitHub 项目地址:Elastic-Job GitHub 。

推荐

如果你正在寻找一个高性能、支持多种任务类型(包括定时任务、延时任务、工作流设计)的分布式任务调度框架,Openjob 是一个不错的选择。它基于 Akka 架构,支持无限水平扩容,提供了丰富的功能和良好的扩展性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/23956.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bugku CTF CRYPTO

Bugku CTF CRYPTO 文章目录 Bugku CTF CRYPTO聪明的小羊ok[-<>]散乱的密文.!? 聪明的小羊 描 述: 一只小羊翻过了2个栅栏 fa{fe13f590lg6d46d0d0} 分 析&#xff1a;栅栏密码&#xff0c;分2栏&#xff0c;一个栏里有11个 ①手动解密 f a { f e 1 3 f 5 9 0 l g 6 d 4 …

数据库的基本操作

目录 一、查看所有的数据库&#xff1a; 二、创建数据库&#xff1a; if not exists : 字符编码集&#xff1a; 排序规则&#xff1a; 三、查看创建的库&#xff1a; 四、修改数据库&#xff1a; 五、删除数据库&#xff1a; if exists&#xff1a; 前言&#xff1a; 在…

IDEA集成DeepSeek,通过离线安装解决无法安装Proxy AI插件问题

文章目录 引言一、安装Proxy AI1.1 在线安装Proxy AI1.2 离线安装Proxy AI 二、Proxy AI中配置DeepSeek2.1 配置本地部署的DeepSeek&#xff08;Ollama方式&#xff09;2.2 通过第三方服务商提供的API进行配置 三、效果测试 引言 许多开发者尝试通过安装Proxy AI等插件将AI能力…

Java+SpringBoot+Vue+数据可视化的音乐推荐与可视化平台(程序+论文+讲解+安装+调试+售后)

感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望帮助更多的人。 系统介绍 在互联网技术以日新月异之势迅猛发展的浪潮下&#xff0c;5G 通信技术的普及、云计算能力…

【时时三省】(C语言基础)常量和变量

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 在计算机高级语言中&#xff0c;数据有两种表现形式&#xff1a;常量和变量。 常量 在程序运行过程中&#xff0c;其值不能被改变的量称为常量。数值常量就是数学中的常数。 常用的常量有以…

zabbix故障案例 WEB页面Database error Connection refused

目录 1.思路 2.问题解决 3.其他数据库问题思路 1.思路 当我们遇到 Database error Connection refused的问题的时候一般想到的都是数据库的问题 那我们这时候就顺着这条线索排查 2.问题解决 我们首先先进入数据库 mysql -uzabbix -p123 发现了如下报错 应该是数…

MaxKB+Ollama+DeepSeek1.5B部署知识库

环境信息 练习测试用&#xff0c;所以资源很低&#xff0c;8G显卡。大模型部署在Windows台式机上&#xff0c;MaxKB部署在CentOS虚拟机上。 台式机&#xff1a; 硬件&#xff1a;i7 13900 NV GeForce RTX 3060 Ti 8G显存 32G内存 软件&#xff1a;Windows 11操作系统&…

猿大师播放器:智慧交通Web网页低延迟播放监控RTSP H.265视频解决方案

在智慧城市建设加速推进的今天&#xff0c;智慧交通作为城市"神经系统"正面临前所未有的发展机遇。据统计&#xff0c;2023年全国交通视频监控设备保有量已突破4500万台&#xff0c;日均产生的视频数据量超50PB。但在这些庞大数字背后&#xff0c;行业却普遍面临着&q…

Web3.py 入门笔记

Web3.py 学习笔记 &#x1f4da; 1. Web3.py 简介 &#x1f31f; Web3.py 是一个 Python 库&#xff0c;用于与以太坊区块链进行交互。它就像是连接 Python 程序和以太坊网络的桥梁。 官方文档 1.1 主要功能 查询区块链数据&#xff08;余额、交易等&#xff09;发送交易与…

如何选择工控产线安全软件?

在当今数字化时代&#xff0c;信息安全的重要性不言而喻。随着工业控制系统&#xff08;ICS&#xff09;的广泛应用&#xff0c;主机的安全加固成为了保障企业生产运营稳定的关键环节。MCK-T主机加固系统软件&#xff0c;凭借其卓越的性能和全面的安全防护功能&#xff0c;成为…

系统调用过程

注意&#xff1a;本系统调用过程基于32位操作系统 中断服务程序的寻址过程 1.用户态程序产生系统调用write()&#xff1b; 2.产生中断指令ENTER_KERNEL(int $0x80128)&#xff0c;CPU收到中断指令去查询中断向量表&#xff0c;找出中断号0x80对应的中断服务程序的内存基地址(0…

PHP入门基础学习七(函数3)

九、数组函数 1、合并两个数组 合并两个数组,其中一个当健名,一个当值 注意: array_combine 函数,通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。 2.1、排序函数 对于数组的排序,除了可使用前面讲解的排序算法实现外,PHP还提供了内置…

pycharm管理虚拟环境

不借用Anoconda 1.检查pip所在位置&#xff0c; 因为pip的默认安装路径是python的安装目录下的依赖库路径D:\Program Files\Python397\Lib\site-packages。项目如果用之前pycharm创建的环境是无法加载这个路径的库的。 2.安装时指定安装路径 千万要注意指定安装路径为项目的…

DeepSeek 助力 Vue 开发:打造丝滑的 复选框(Checkbox)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…

FMT源码 - module

module 功能模块 1、uMCN uMCN 是 类似于 PX4里面的 uORB 模块。 mcn listmcn echo sensor_imu0mcn echo <topic> [options]options:-n, --number Set topic echo number, e.g, -n 10 will echo 10 times. (朝终端打印的次数)-p, --period Set topic echo peri…

城电科技|会追日的智能花,光伏太阳花开启绿色能源新篇章

当艺术与科技相遇&#xff0c;会碰撞出怎样的火花&#xff1f;城电科技推出的光伏太阳花&#xff0c;以其独特的设计与智能化的功能&#xff0c;给出了答案。这款产品不仅具备太阳能发电的实用功能&#xff0c;更是一件充满科技属性的艺术性光伏产品&#xff0c;吸引了广泛关注…

湖北中医药大学谱度众合(武汉)生命科技有限公司研究生工作站揭牌

2025年2月11日&#xff0c;湖北中医药大学&谱度众合&#xff08;武汉&#xff09;生命科技有限公司研究生工作站揭牌仪式在武汉生物技术研究院一楼101会议室举行&#xff0c;湖北中医药大学研究生院院长刘娅教授、基础医学院院长孔明望教授、基础医学院赵敏教授、基础医学院…

计算机网络————(一)HTTP讲解

基础内容分类 从TCP/IP协议栈为依托&#xff0c;由上至下、从应用层到基础设施介绍协议。 1.应用层&#xff1a; HTTP/1.1 Websocket HTTP/2.0 2.应用层的安全基础设施 LTS/SSL 3.传输层 TCP 4.网络层及数据链路层 IP层和以太网 HTTP协议 网络页面形成基本 流程&#xff1a…

货车一键启动无钥匙进入手机远程启动的正确使用方法

一、移动管家货车无钥匙进入系统的使用方法 基本原理&#xff1a;无钥匙进入系统通常采用RFID无线射频技术和车辆身份识别码识别系统。车钥匙需要随身携带&#xff0c;当车钥匙靠近货车时&#xff0c;它会自动与货车的解码器匹配。开门操作&#xff1a;当靠近货车后&#xff0…

2.2logstash规则配置

工作流程 Logstash工作的三个阶段&#xff1a; input数据输入端&#xff0c;以接收来自任何地方的源数据 * file&#xff1a;从文件中读取 * syslog&#xff1a;监听在514端口的系统日志信息, 并解析成RFC3164格式 * redis&#xff1a;从redis-server list中获取 * beat&a…