OhMyScheduler - 强大的分布式调度与计算框架

2020-06-12 08:39:58 +08:00
 tjq

简介

OhMyScheduler 是基于 Akka 架构的新一代分布式调度与计算框架,支持 CRON 、API 、固定频率、固定延迟四种调度策略,提供工作流( DAG )来编排任务解决依赖关系,使用简单,功能强大,文档齐全,能够让你轻松完成作业的调度与繁杂任务的分布式计算。

主要功能特性

适用场景

同类产品对比

传送门

项目地址: https://github.com/KFCFans/OhMyScheduler

文档地址: https://www.yuque.com/ohmyscheduler/guidence/ztn4i5

在线使用: https://www.yuque.com/ohmyscheduler/guidence/hnbskn

觉得还不错的话,可以点个 Star 支持一下~

4962 次点击
所在节点    分享创造
24 条回复
hantsy
2020-06-16 09:42:08 +08:00
@tjq 嗯,我接触的少。之前一个项目需要银行对账,调用第三方支付接口对比,还要每天生成各种报表,用的 Spring JDK Timer 和 Spring Batch 。还有一个海外支付项目,有大量定时批处理任务,基本是用到 Spring Batch,Spring Integration,Spring Cloud 下多个项目,还有 Spring 下一些不多见(短命的)的项目,Spring Plugin,Spring Sync 等。我接触到的国外的项目,用 AWS 的 DevOps 人员,几乎只是开始的时候,登录 AWS 建一些必要的资源,然后基本都是客户端命令操作,自己写一些 Scripts (有的结合 CI ),来执行任务,后来基本上不需要登录 AWS,真正在实施 Infrastructure as Code 。我以前也傻傻问老外,为什么不用 Aws 界面操作,他们说很多操作是界面没有,而且也不如 CLI 便捷。我自己玩 OpenShift 的时候才知道,很多功能只有通过 CLI 才能操作。

自从 Spring 集成了 JDK timer 后,我不再用 Quartz 。已经说过,定时器仅仅是触发任务执行, 任务的定义和执行用 Spring Batch 。之前 Spring 官方有一个 Spring Batch Admin (现在已经不维护了) 用户界面( https://github.com/spring-attic/spring-batch-admin ),来管理批处理任务。SBA 这个项目后来衍生出了 Spring Cloud Data Flow,https://spring.io/projects/spring-cloud-dataflow#overview,当然这个项目方向上有点不一样,主要是 Streams 数据分析,另一方面也保留了 Batch task 执行。我关注的是任务细分,开发的工作范围是一条命令(比如 Serverless ),一个大的任务由 SCDF 这样统一的中心来装配调度,搜集执行结果反馈出来。

你的设计这个产品和现代的云计算架构根本就不在一条线上,我不知道有什么场景用上。至于还用个列表,来讨论与 Quartz 的差别,显示自己的优势,我就有点反感了。从代码质量讲,你的代码(大概浏览了一下)根本就和 Quartz 没法比,属于我实在看不下去那种 XX 。
tjq
2020-06-16 13:09:36 +08:00
@hantsy 你离题很严重。

我的第一句话是“你没有接触过需要这种作业调度框架的场景”,你举的那些你自己的项目经验无非是你自己的应用场景,也许你接触过的业务确实不需要用到第三方调度框架就能完成调度,然后配上一些数据流处理框架就能完成业务需求。但这也不代表这个世界上所有的业务场景都能这样解决啊。比如我刚才上面举的两个例子,你能用自带的 Timer 或 Scheduler 来解决吗?我已经给出了反例,你不否定我的反例而是举出了一堆无关的例子,显然没有任何说服力。

第二大段你自己也说了,面向的场景不一样,就不深入探讨了。我只能说 Spring Batch 也好,Spring Cloud Data Flow 也好,和我的框架不是一个定位一个层次的东西,他们也许和 Apache-DolphinScheduler 的定位有点类似。

“你的设计这个产品和现代的云计算架构根本就不在一条线上”这句话倒是没什么问题,确实不在一条线上,也没办法在一条线上。云级别的解决方案不是个人框架玩得转的,都需要提供一整套的解决方案。我这个框架要上云可太简单了,Server 直接由云服务商提供,Processor 全部 FaaS 化,执行器以函数为单元部署,即可拥有云上调度云上执行自动弹缩的划时代体验,但是条件呢?阿里云是我家开的还是 AWS 是我家开的?

关于列表对比 Quartz,内容全部真材实料实事求是,没有任何捏造,没有任何抹黑,如果这样的对比你都觉得有问题,那我也无话可说。

关于代码质量,我虚心求教,你觉得哪里有问题或者写的不好,十分欢迎你把问题贴出来反馈给我。但是不接受像现在这样毫无依据的 diss 。
hantsy
2020-06-16 13:31:44 +08:00
嗯,跑题了。
tikazyq
2020-06-17 23:00:45 +08:00
如果有一些实用场景就好了,例如 Crawlab,实际上也是一个调度平台,不过是针对爬虫程序的,这样会比较聚焦一些。建议楼主用这个框架多给几个实际应用场景的例子,具体解决什么问题,跟 xxl-jobs 之类的相比有什么优势,这样可能会更受欢迎一些

顺便安利下我的开源项目: https://github.com/crawlab-team/crawlab

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/680863

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX