mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
389 lines
11 KiB
HTML
389 lines
11 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en" dir=>
|
||
|
||
<head>
|
||
<meta name="generator" content="Hugo 0.71.0" />
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<meta name="description" content="项目地址 GitHub | Gitee
|
||
产品介绍 OhMyScheduler是基于Akka架构的一款分布式调度与计算框架(对标 Alibaba SchedulerX2.0),其主要功能特性如下:
|
||
使用简单:提供前端Web界面,允许开发者可视化地完成调度任务的管理(增、删、改、查)、任务运行状态监控和运行日志查看等功能。 定时策略完善:支持CRON表达式、固定频率、固定延迟和API四种定时调度策略。 执行模式丰富:支持单机、广播、Map、MapReduce四种执行模式,其中Map/MapReduce处理器能使开发者寥寥数行代码便获得集群分布式计算的能力。 执行器支持广泛:支持Spring Bean、普通Java对象、Shell、Python等处理器,应用范围广(比如广播执行+Shell脚本用来清理日志) 运维便捷:支持在线日志功能,执行器产生的日志可以在前端控制台页面实时显示,降低debug成本,极大地提高开发效率。 依赖精简:最小仅依赖关系型数据库(MySQL/Oracle/MS SQLServer…),扩展依赖为MongoDB(用于存储庞大的在线日志)。 高可用&高性能:调度服务器经过精心设计,一改其他调度框架基于数据库锁的策略,实现了无锁化调度。部署多个调度服务器可以同时实现高可用和性能的提升(支持无限的水平扩展)。 故障转移与恢复:任务执行失败后,可根据配置的重试策略完成重试,只要执行器集群有足够的计算节点,任务就能顺利完成。 适用场景 有定时执行需求的业务场景:如每天凌晨全量同步数据、生成业务报表等。 有需要全部机器一同执行的业务场景:如日志清理。 有需要分布式处理的业务场景:比如需要更新一大批数据,单机执行耗时非常长,可以使用Map/MapReduce处理器完成任务的分发,调动整个集群加速计算。 同类产品对比 QuartZ xxl-job SchedulerX 2.0 OhMyScheduler 定时类型 CRON CRON CRON、固定频率、固定延迟、OpenAPI CRON、固定频率、固定延迟、OpenAPI 任务类型 内置Java 内置Java、GLUE Java、Shell、Python等脚本 内置Java、外置Java(FatJar)、Shell、Python等脚本 内置Java、外置Java(容器)、Shell、Python等脚本 分布式任务 无 静态分片 MapReduce动态分片 MapReduce动态分片 在线任务治理 不支持 支持 支持 支持 日志白屏化 不支持 支持 不支持 支持 调度方式及性能 基于数据库锁,有性能瓶颈 基于数据库锁,有性能瓶颈 不详 无锁化设计,性能强劲无上限 报警监控 无 邮件 短信 邮件,提供接口允许开发者扩展 系统依赖 MySQL MySQL 人民币(公测期间免费,哎,帮打个广告吧) 任意Spring Data Jpa支持的关系型数据库(MySQL、Oracle…) DAG工作流 不支持 不支持 支持 暂不支持,有明确开发计划 ">
|
||
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="介绍" />
|
||
<meta property="og:description" content="" />
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:url" content="https://kfcfans.gitee.io/" />
|
||
|
||
<title>介绍 | OhMyScheduler</title>
|
||
<link rel="manifest" href="/manifest.json">
|
||
<link rel="icon" href="/favicon.png" type="image/x-icon">
|
||
<link rel="stylesheet" href="/book.min.e161f1fe2b283b6a43c29a52fde96e2387fade573e78efa6701d44c8499da76b.css" integrity="sha256-4WHx/isoO2pDwppS/eluI4f63lc+eO+mcB1EyEmdp2s=">
|
||
<script defer src="/en.search.min.c80848d3c77260233d9a08502d528e5cb516bb11e5df300ef34c5507c61f37fd.js" integrity="sha256-yAhI08dyYCM9mghQLVKOXLUWuxHl3zAO80xVB8YfN/0="></script>
|
||
<link rel="alternate" type="application/rss+xml" href="https://kfcfans.gitee.io/index.xml" title="OhMyScheduler" />
|
||
<!--
|
||
Made with Book Theme
|
||
https://github.com/alex-shpak/hugo-book
|
||
-->
|
||
|
||
|
||
</head>
|
||
|
||
<body dir=>
|
||
<input type="checkbox" class="hidden" id="menu-control" />
|
||
<main class="container flex">
|
||
<aside class="book-menu">
|
||
|
||
<nav>
|
||
<h2 class="book-brand">
|
||
<a href="/"><span>OhMyScheduler</span>
|
||
</a>
|
||
</h2>
|
||
|
||
|
||
<div class="book-search">
|
||
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/" />
|
||
<div class="book-search-spinner hidden"></div>
|
||
<ul id="book-search-results"></ul>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<ul>
|
||
|
||
|
||
<li>
|
||
|
||
|
||
<span>快速开始</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<ul>
|
||
|
||
|
||
<li>
|
||
|
||
|
||
<a href="/docs/startup/1-server-startup/" class="">调度中心(Server)部署</a>
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
<li>
|
||
|
||
|
||
<a href="/docs/startup/2-worker-startup/" class="">执行器(Worker)初始化</a>
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
<li>
|
||
|
||
|
||
<a href="/docs/startup/3-processor-develop/" class="">处理器开发</a>
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
<li>
|
||
|
||
|
||
<a href="/docs/startup/4-console-guide/" class="">任务管理与在线运维</a>
|
||
|
||
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
<li>
|
||
|
||
|
||
<span>高级特性</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<ul>
|
||
|
||
|
||
<li>
|
||
|
||
|
||
<a href="/docs/super/container/" class="">容器</a>
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
<li>
|
||
|
||
|
||
<a href="/docs/super/openapi/" class="">OpenAPI</a>
|
||
|
||
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
|
||
|
||
</li>
|
||
|
||
|
||
|
||
<li>
|
||
|
||
|
||
<span>更新日志</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<ul>
|
||
|
||
</ul>
|
||
|
||
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</nav>
|
||
|
||
|
||
|
||
|
||
<script>(function(){var menu=document.querySelector("aside.book-menu nav");addEventListener("beforeunload",function(event){localStorage.setItem("menu.scrollTop",menu.scrollTop);});menu.scrollTop=localStorage.getItem("menu.scrollTop");})();</script>
|
||
|
||
|
||
|
||
</aside>
|
||
|
||
<div class="book-page">
|
||
<header class="book-header">
|
||
|
||
<div class="flex align-center justify-between">
|
||
<label for="menu-control">
|
||
<img src="/svg/menu.svg" class="book-icon" alt="Menu" />
|
||
</label>
|
||
|
||
<strong>介绍</strong>
|
||
|
||
<label for="toc-control">
|
||
<img src="/svg/toc.svg" class="book-icon" alt="Table of Contents" />
|
||
</label>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
</header>
|
||
|
||
|
||
|
||
<article class="markdown"><p><img src="oms-logo.png" alt="logo" /></p>
|
||
<h2 id="项目地址">项目地址</h2>
|
||
<p><a href="https://github.com/KFCFans/OhMyScheduler">GitHub</a> | <a href="https://gitee.com/KFCFans/OhMyScheduler">Gitee</a></p>
|
||
<h2 id="产品介绍">产品介绍</h2>
|
||
<p><strong>OhMyScheduler是基于Akka架构的一款分布式调度与计算框架(对标 Alibaba SchedulerX2.0),其主要功能特性如下</strong>:</p>
|
||
<ul>
|
||
<li>使用简单:提供前端Web界面,允许开发者可视化地完成调度任务的管理(增、删、改、查)、任务运行状态监控和运行日志查看等功能。</li>
|
||
<li>定时策略完善:支持CRON表达式、固定频率、固定延迟和API四种定时调度策略。</li>
|
||
<li>执行模式丰富:支持单机、广播、Map、MapReduce四种执行模式,其中Map/MapReduce处理器能使开发者寥寥数行代码便获得集群分布式计算的能力。</li>
|
||
<li>执行器支持广泛:支持Spring Bean、普通Java对象、Shell、Python等处理器,应用范围广(比如广播执行+Shell脚本用来清理日志)</li>
|
||
<li>运维便捷:支持在线日志功能,执行器产生的日志可以在前端控制台页面实时显示,降低debug成本,极大地提高开发效率。</li>
|
||
<li>依赖精简:最小仅依赖关系型数据库(MySQL/Oracle/MS SQLServer…),扩展依赖为MongoDB(用于存储庞大的在线日志)。</li>
|
||
<li>高可用&高性能:调度服务器经过精心设计,一改其他调度框架基于数据库锁的策略,实现了无锁化调度。部署多个调度服务器可以同时实现高可用和性能的提升(支持无限的水平扩展)。</li>
|
||
<li>故障转移与恢复:任务执行失败后,可根据配置的重试策略完成重试,只要执行器集群有足够的计算节点,任务就能顺利完成。</li>
|
||
</ul>
|
||
<h2 id="适用场景">适用场景</h2>
|
||
<ul>
|
||
<li>有定时执行需求的业务场景:如每天凌晨全量同步数据、生成业务报表等。</li>
|
||
<li>有需要全部机器一同执行的业务场景:如日志清理。</li>
|
||
<li>有需要分布式处理的业务场景:比如需要更新一大批数据,单机执行耗时非常长,可以使用Map/MapReduce处理器完成任务的分发,调动整个集群加速计算。</li>
|
||
</ul>
|
||
<h2 id="同类产品对比">同类产品对比</h2>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th></th>
|
||
<th>QuartZ</th>
|
||
<th>xxl-job</th>
|
||
<th>SchedulerX 2.0</th>
|
||
<th>OhMyScheduler</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>定时类型</td>
|
||
<td>CRON</td>
|
||
<td>CRON</td>
|
||
<td>CRON、固定频率、固定延迟、OpenAPI</td>
|
||
<td><strong>CRON、固定频率、固定延迟、OpenAPI</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>任务类型</td>
|
||
<td>内置Java</td>
|
||
<td>内置Java、GLUE Java、Shell、Python等脚本</td>
|
||
<td>内置Java、外置Java(FatJar)、Shell、Python等脚本</td>
|
||
<td><strong>内置Java、外置Java(容器)、Shell、Python等脚本</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>分布式任务</td>
|
||
<td>无</td>
|
||
<td>静态分片</td>
|
||
<td>MapReduce动态分片</td>
|
||
<td><strong>MapReduce动态分片</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>在线任务治理</td>
|
||
<td>不支持</td>
|
||
<td>支持</td>
|
||
<td>支持</td>
|
||
<td><strong>支持</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>日志白屏化</td>
|
||
<td>不支持</td>
|
||
<td>支持</td>
|
||
<td>不支持</td>
|
||
<td><strong>支持</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>调度方式及性能</td>
|
||
<td>基于数据库锁,有性能瓶颈</td>
|
||
<td>基于数据库锁,有性能瓶颈</td>
|
||
<td>不详</td>
|
||
<td><strong>无锁化设计,性能强劲无上限</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>报警监控</td>
|
||
<td>无</td>
|
||
<td>邮件</td>
|
||
<td>短信</td>
|
||
<td><strong>邮件,提供接口允许开发者扩展</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>系统依赖</td>
|
||
<td>MySQL</td>
|
||
<td>MySQL</td>
|
||
<td>人民币(公测期间免费,哎,帮打个广告吧)</td>
|
||
<td><strong>任意Spring Data Jpa支持的关系型数据库(MySQL、Oracle…)</strong></td>
|
||
</tr>
|
||
<tr>
|
||
<td>DAG工作流</td>
|
||
<td>不支持</td>
|
||
<td>不支持</td>
|
||
<td>支持</td>
|
||
<td>暂不支持,有明确开发计划</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</article>
|
||
|
||
|
||
|
||
<footer class="book-footer">
|
||
|
||
<div class="flex flex-wrap justify-between">
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</footer>
|
||
|
||
|
||
|
||
<div class="book-comments">
|
||
|
||
</div>
|
||
|
||
|
||
|
||
<label for="menu-control" class="hidden book-menu-overlay"></label>
|
||
</div>
|
||
|
||
|
||
</main>
|
||
|
||
|
||
</body>
|
||
|
||
</html>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|