diff --git a/README.md b/README.md index 2f611c4a..756e5808 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,20 @@ # 简介 ### 产品介绍 -OhMyScheduler是一个分布式调度平台和分布式计算框架,具有以下特性: -* 支持CRON、固定频率、固定延迟和API四种调度策略。 -* 支持单机、广播、**Map**、**MapReduce**四种执行模式。 -* 支持在线查看任务运行过程中的日志,提供分布式日志解决方案。 -* 支持任意的水平扩展,性能强劲无上限。 -* 具有强大的故障转移与恢复能力,只要保证集群可用节点数足够,任务就能顺利完成。 -* 最小仅依赖数据库,部署简单,上手容易,开发高效,仅需几行代码即可获得整个集群的分布式计算能力。 -* 支持SpringBean、普通Java类(内置/外置)、Shell、Python等处理器。 +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处理器完成任务的分发,调动整个集群加速计算。 # 接入流程(文档不要太详细,简单强大兼得说的就是在下~) 1. [项目部署及初始化](./others/doc/SystemInitGuide.md) @@ -15,15 +22,14 @@ OhMyScheduler是一个分布式调度平台和分布式计算框架,具有以 3. [任务配置与在线查看](./others/doc/ConsoleGuide.md) 4. [(强大灵活的扩展——OpenAPI)](./others/doc/OpenApiGuide.md) - # 开发日志 ### 已完成 * 定时调度功能:支持CRON表达式、固定时间间隔、固定频率和API四种方式。 -* 任务执行功能:支持单机、广播和MapReduce三种执行方式。 -* 执行处理器:支持SpringBean、普通Java对象、Shell脚本、Python脚本的执行 -* 在线日志:分布式日志解决方案 +* 任务执行功能:支持单机、广播、Map和MapReduce四种执行方式。 +* 执行处理器:支持SpringBean、普通Java对象、Shell脚本、Python脚本的执行。 +* 在线日志:分布式日志方案。 * 高可用与水平扩展:调度服务器可以部署任意数量的节点,不存在调度的性能瓶颈。 -* 不怎么美观但可以用的前端界面 +* 不怎么美观但可以用的前端界面。 * OpenAPI:通过OpenAPI可以允许开发者在自己的应用上对OhMyScheduler进行二次开发,比如开发自己的定时调度策略,通过API的调度模式触发任务执行。 ### 下阶段目标