@
Mistwave 嗯,任务之间不可以配置依赖,不过目前正在全力开发中~
一开始不支持的原因是我个人一开始想要的主打功能是分布式计算,而且当时觉得 MapReduce 处理器能代替一部分 DAG 功能,不过现在已经意识到了 DAG 的重要性,不久的将来就会提供支持。
不用其他语言(其实我本来想用 Kotlin 的)主要是考虑到维护成本和接入成本,比如你用我这个框架,肯定会先把代码看一遍吧,国内后端领域 Scala 和 KT 的普及度都太低了,用这些语言写的话本项目基本最后就会变成我个人的一个玩具了。
在 Java 项目用 akka 确实很不舒服(光一个方法就 4 个 API,无力吐槽),不过本项目基本只是把 akka 当作了一个简化版 Netty 在用。因为为了 Processor 的可控性,还是要自己开线程池,也就没有采用 Actor 模型。
目前还停留于个人测试阶段...没有实际的生产数据,抱歉~
性能强劲其实是想表达我调度层设计的比较高超和巧妙,我看过 XXL-Job 调度的代码,就是简单的 select for update +hash map 版时间轮,而本项目的实现是无锁化查询(可以理解为分段查询)+真正的时间轮(参考了 Netty 时间轮),性能自然不在一个等级上。不过事实上,对于调度应用,个人认为调度性能是远远达不到瓶颈的,撑死几千几万个任务,哪怕最简单的直接每秒数据库轮询都能符合性能要求。
最后,如果有兴趣使用,你可以尝试部署到预发观察几天~如果遇到什么 bug 或问题,可以直接联系我,最近我有充足的时间第一时间修复问题~
感谢支持~