Hydra-IoJava 分布式作业流调度框架
Java 分布式作业流调度框架 Hydra-Io
Hydra 是由 Java 实现的作业流调度框架,它可以支持复杂作业流的调度。
主要有以下特点:
1. 支持分布式作业分片
2. 支持本地并发执行
3. 支持复杂作业树(作业流)
4. 实现业务代码和框架代码的解耦
5. 内部实现分布式调度,无需zookeeper等第三方分布式组件
6. 抛弃传统的cron表达,采用简单易懂的作业配置
note: 目前Hydra-Io 处于测试版本,暂没有在生产环境下运行的先例
计划:
在1.0 版本中 将支持一下特性
1. 同步支持zookeeper 、Redis 作为分布式组件
2. 实现基于XML的作业配置
3. 支持spring
测试版体验:
1.定义作业 testInvokeTask
@Task("testInvokeTask") public class TestInvokeTask { @Executor("executorA") @Expression(strategy = ExpressionStrategyEnum.TIMING, measure = ExpressionMeasureEnum.MINUTE,factor = "15") @Distributed(strategy = DistributedStrategyEnum.SHARDING,number = 2) public String executorA(EnvironmentParams context){ String jobName = context.getJobName(); int invokeIndex = context.getInvokeIndex(); String str = jobName + " - " + invokeIndex + " running at " + new Date(); System.out.println(str); return str; } @Join("testInvokeTask@executorA") @Executor("executorB") public String executorB(EnvironmentParams context, String values){ String jobName = context.getJobName(); int invokeIndex = context.getInvokeIndex(); String str = jobName + " - " + invokeIndex + " running at " + new Date() + " param is:[" + values + " ]" ; System.out.println(str); return jobName; } @Join("testInvokeTask@executorB") @Executor("executorC") public String executorC(EnvironmentParams context, String values){ String jobName = context.getJobName(); int invokeIndex = context.getInvokeIndex(); String str = jobName + " - " + invokeIndex + " running at " + new Date() + " param is:[" + values + " ]" ; System.out.println(str); return jobName; } }
注解说明:
执行作业:
public class Main { public static void main(String[] strings){ BatchSystem system = AnnotationBatchSystem.getInstance().setScanPackage("com.xxxx.xxxx.test"); system.start(); } }
评论
Java8 Steam流太难用了?那你可以试试 JDFrame
来源:juejin.cn/post/7356652717392740404👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书福利全栈前后端分离博客项目 2.0 版本完结啦, 演示链接
小哈学Java
1
3人运营,不用投流,年翻十倍...这些头部商家如何在得物获得确定性新增长
是新朋友吗?记得先点蓝字关注我哦~这场硬仗一定要打,也一定要打赢。文/靳舒乔珠宝品牌周大生2022年一季报数据显示,2021年周大生营收91.55亿元,门店突破4500家,遂加快线上渠道布局。一次跟得物官方交流,感觉这款App上的年轻人非常活跃,很契合线上发展需求。那时,得物App更名一年有余,正打
调皮电商
2
前端框架新势力大盘点
点击上方 前端Q,关注公众号回复加群,加入前端Q技术交流群近年来,前端领域快速发展,新的框架不断涌现,为开发者提供了更多选择和解决方案。尽管 React、Vue、Angular、Next.js、Preact 等老牌框架依然稳坐市场主流,但新势力前端框架的崛起也为特定场景带来了更佳的适配和优
前端Q
0
神作《凤凰架构:构建可靠的大型分布式系统》PDF来了
今天给大家带来了一本大作:周志明老师的 《凤凰架构:构建可靠的大型分布式系统》PDF版来了,文末直接获取周志明是谁?这可是真大佬,或许有些朋友没有听过,但是你们一定听过:《深入理解 Java 虚拟机》这本神书,没错就是这本书的作者,出过多本书,豆瓣评分如下,全是高分,尤其是《深入理解Java虚拟机》
路人甲Java
0
Redis 是怎么从单体架构发展到分布式缓存的?
图解学习网站:https://xiaolincoding.comRedis 架构是如何一步一步发展到今天的样子的?2010 年 - 单体 RedisRedis 1.0 于 2010 年发布,当时的架构非常简单。它通常用作业务应用程序的缓存。不过,Redis 将数据存储在内存中。当我们重启 Redis
小林coding
10
110 个 Java 主流组件和框架整理,常用的应有尽有,建议收藏!!
点击关注公众号,Java 干货及时推送↓推荐阅读:铜三铁四,怒拿 35K * 14 薪!整理:四猿外以下排序是按照从技术组件到开发框架到代码工具,也有一些实在不好分类的,就放到最后了。WEB 容器Tomcathttps://tomcat.apache.org/Jettyhttps://ww
Java技术栈
0
熊猫饭圈中,谁是最大的顶流?
大数据文摘授权转载自湃客工坊4 月 3 日,中国的旅韩大熊猫“福宝”就将从韩国回到四川省中国大熊猫保护研究中心卧龙神树坪基地。一个月前,福宝在韩国爱宝乐园的最后一个公众展出日,数千名韩国民众专门前去送别。“福宝”的最新摄影集《福宝,我永远爱你》今年出版后在韩热销,刚发售便冲上畅销书榜第三。有读者在韩
大数据文摘
0
搞定了 6 种分布式ID,分库分表哪个适合做主键?
大家好,我是小富~本文是《ShardingSphere5.x分库分表原理与实战》系列的第七篇,目前系列的前几篇制作成了PDF,需要的可以在文末获取下载方式,持续更新中。今天咱们继续一起来探究下,分布式ID在分库分表中起到的作用以及如何使用,ShardingSphere-jdbc中已经为我们提供了多种
程序员内点事
10