taroco-scheduler 分布式定时任务调度

基于 Spring Boot 2.0 + Spring Task + Zookeeper 的分布式任务调度组件,非常轻量级,使用简单,只需要引入jar包,不需要单独部署服务端。确保所有任务在集群中不重复,不遗漏的执行。

组件架构

功能点概述

  1. 每个任务在集群中不同节点上不重复的执行。
  2. 单个任务节点故障时自动转移到其他任务节点继续执行。
  3. 任务节点启动时必须保证zookeeper可用,任务节点运行期zookeeper集群不可用时任务节点保持可用前状态运行,zookeeper集群恢复正常运行。
  4. 支持动态添加、修改和删除任务,支持任务暂停和重新启动。
  5. 添加ip黑名单,过滤不需要执行任务的节点。
  6. 提供后台管理界面和任务执行监控。
  7. 天然支持 Spring Boot。通过 spring.factories 的方式自动加载配置类 TarocoSchedulerAutoConfiguration。只需要引入jar包依赖,无须显示的添加配置类扫描。
  8. 支持单个任务运行多个实例(使用扩展后缀名)。
  9. 本地静态任务(@Scheduled 注解的任务, 以及 xml 配置的定时任务),会自动纳入集群做统一分配执行。
  10. 新增 server 节点, 当前任务会自动平衡到新节点。

特别说明:

  • 单节点故障时需要业务保障数据完整性或幂等性。
  • Spring Task 是Spring 3.0之后自主开发的定时任务工具。
  • Spring Task 默认不是并行执行,需要添加一个名为 taskScheduler 的Bean,采用ThreadPoolTaskScheduler或其他线程池的Scheduler实现。Spring Task默认采用 ThreadPoolTaskScheduler
  • 所有的任务都是基于Spring Bean的方式。可以通过定义一个或多个任务模板(Bean 的方式),通过使用任务后缀可以动态的添加多个该模板的任务实例,你只需要传递不同的参数即可。
  • 此组件更加适用于,模板化的定时任务。我们可以事先定义很少的任务模板(Spring Bean),然后通过业务传递不同参数,指定后缀,批量生成定时任务。
  • 虽然提供了统一的后端管理界面,但是依然更推荐通过定义任务模板的方式,将任务保存到本地数据库,自定义自己的任务管理界面。

如何使用

基于Spring Boot的配置

一般情况下我们只需要指定 zookeeper 的地址即可:

taroco: scheduler: zk: url: 127.0.0.1:2181

如果需要更多的配置。请参考TarocoSchedulerProperties配置类。

启动任务管理界面

只需要在 Spring Boot 启动类中添加注解@EnableTarocoSchedulerAdmin,然后通过访问路径:/taroco/scheduler/task即可。

任务管理

注入 bean IScheduleTask即可实现对任务的增删查改。

节点管理

注入 bean ISchedulerServer即可实现对 server 节点的简单查询。

获取当前 server 节点实例

ScheduleServer.getInstance()

C# Task 循环任务_taroco-scheduler 分布式定时任务调度相关推荐

  1. 遇见未知的Saturn |准备篇:分布式定时任务调度系统技术解决方案(xxl-job、Elastic-job、Saturn)

    1.业务场景 保险人管系统每月工资结算,平安有150万代理人,如何快速的进行工资结算(数据运算型) 保险短信开门红/电商双十一 1000w+短信发送(短时汇聚型) 工作中业务场景非常多,所涉及到的场景 ...

  2. quarts集群 运维_分布式定时任务调度系统技术解决方案(xxl-job、Elastic-job、Saturn)...

    1.业务场景 保险人管系统每月工资结算,平安有150万代理人,如何快速的进行工资结算(数据运算型) 保险短信开门红/电商双十一 1000w+短信发送(短时汇聚型) 工作中业务场景非常多,所涉及到的场景 ...

  3. 分布式定时任务调度系统技术解决方案(xxl-job、Elastic-job、Saturn)

    分布式定时任务调度系统技术解决方案(xxl-job.Elastic-job.Saturn) 参考文章: (1)分布式定时任务调度系统技术解决方案(xxl-job.Elastic-job.Saturn) ...

  4. 分布式定时任务调度中心

    分布式定时任务调度中心选型 目前主流的开源分布式定时任务调度中心据我了解主要是XXL-JOB和ELASTIC-JOB. 对比: 以上框架实现的功能大体都差不多,下面说下我选择XXL-JOB的原因: 1 ...

  5. ElasticJob分布式定时任务调度框架以及生产遇到的问题

    ElasticJob分布式定时任务调度框架 1:maven配置 2:客户端xml配置 3:测试类 4:重点: 5:总结 1:maven配置 <!--elastic-job--><de ...

  6. 分布式定时任务调度框架实践

    个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 分布式任务调度框架几乎是每个大型应用必备的工具,本文介绍了任务调度框架使用的需求背景和痛点,对业界普遍使用的开源分布式任务调度框架的 ...

  7. 实战技术:分布式定时任务调度框架实践

    个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 一.业务背景 1.1 为什么需要使用定时任务调度 (1)时间驱动处理场景:整点发送优惠券,每天更新收益,每天刷新标签数据和人群数据. ...

  8. python分布式任务调度_分布式定时任务调度框架

    1. 目标 把定时任务通过集群的方式进行管理调度,并采用分布式部署,保证系统的高可用,提高了容错.那么如何保证定时任务只在集群的某一个节点上执行,或者一个任务如何拆分为多个独立的任务项,由分布式的机器 ...

  9. 分布式定时任务调度系统技术选型

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:EFbiz blog.csdn.net/guyue35/ar ...

最新文章

  1. 暗通道优先的图像去雾算法(上)
  2. oracle时间格式要注意的问题
  3. Hyperopt中文文档:FMin
  4. 使用ln -s解决库冲突的问题
  5. git 重新关联远程仓库地址
  6. Android 动画效果及Interpolator和AnimationListener的使用
  7. 万网独享主机Apache为Ecshop商城添加404页面详解
  8. linux 编译字符设备驱动错误,linux字符设备驱动框架及编写流程
  9. 2001年分区联赛提高组之二_数的划分_ssl1016_dfs
  10. OpenShift 4 之 GitOps(3)用Helm+ArgoCD部署应用,并保持配置同步
  11. 无人驾驶入门(影子测试)
  12. Spring + Ibatis + MySql实例详解
  13. 2018美赛数学建模竞赛论文(隐私成本)
  14. 惠普安装linux系统u盘,怎么用U盘安装linux系统
  15. 时间片轮转(RR)调度算法(详解版)
  16. 清除一键还原精灵开机热键F11的正确方法
  17. 迁移学习VGG16实现猫狗大战
  18. Spring Cloud Gateway 没有链路信息,我 TM 人傻了(下)
  19. NLP逻辑回归模型(LR)实现分类问题实例详解
  20. otg usb 定位_什么是USB OTG?USB OTG是什么意思

热门文章

  1. php延迟静态绑定,延迟静态绑定——static
  2. pytorch学习笔记(十六):Parameters
  3. NumPy进阶教程——超详细
  4. PyTorch——PyTorch也支持通过累加操作实现大的BatchSize的训练
  5. GO语言中的几个关键思想
  6. PMOS做固态继电器,PMOS做高侧双向开关电路,PMOS防电流倒灌电路,PMOS电源防反接电路
  7. MQTT.fx客户端MQTT接入阿里云物联网平台,登录、订阅、发布消息
  8. MAX232无RS232电平信号输出、MAX232/3232硬件设计电路、电荷泵电容、max3221电路
  9. CSDN markdown编辑器 页面内跳转目录
  10. 《火星人敏捷开发手册》 2011-08-18版本发布