Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >分布式任务调度框架Elastic-Job的简单实用

分布式任务调度框架Elastic-Job的简单实用

作者头像
用户1215919
发布于 2021-12-28 04:43:41
发布于 2021-12-28 04:43:41
4410
举报
文章被收录于专栏:大大的微笑大大的微笑

Elastic-Job

代码语言:javascript
AI代码解释
复制
        <dependency>
            <groupId>com.dangdang</groupId>
            <artifactId>elastic-job-lite-core</artifactId>
            <version>2.1.5</version>
        </dependency>
代码语言:javascript
AI代码解释
复制
public class MessagePushJob implements SimpleJob {
    @Override
    public void execute(ShardingContext shardingContext) {
        System.out.println(shardingContext);
    }
}
代码语言:javascript
AI代码解释
复制
public class Startup {
    public static void main(String[] args) {
        new JobScheduler(createRegistryCenter(), createJobConfiguration()).init();
    }

    private static CoordinatorRegistryCenter createRegistryCenter() {
        CoordinatorRegistryCenter regCenter = new ZookeeperRegistryCenter(new ZookeeperConfiguration("localhost:2181", "elastic-job"));
        regCenter.init();
        return regCenter;
    }

    private static LiteJobConfiguration createJobConfiguration() {
        // 定义作业核心配置
        JobCoreConfiguration simpleCoreConfig = JobCoreConfiguration.newBuilder("messagePushJob", "5 * * * * ?", 3).build();
        // 定义SIMPLE类型配置
        SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(simpleCoreConfig, MessagePushJob.class.getCanonicalName());
        // 定义Lite作业根配置
        LiteJobConfiguration simpleJobRootConfig = LiteJobConfiguration.newBuilder(simpleJobConfig).build();
        return simpleJobRootConfig;
    }
}

elastic-job-lite-console(控制台)

代码语言:javascript
AI代码解释
复制
地址:https://github.com/elasticjob/elastic-job-lite/tree/dev/elastic-job-lite-console
代码语言:javascript
AI代码解释
复制
启动类:com.dangdang.ddframe.job.lite.console.ConsoleBootstrap

登录账号密码:

代码语言:javascript
AI代码解释
复制
root/root 、 guest/guest

其他:

zookeeper

v : 3.5.5

JDK:

v:1.8

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring-boot整合elastic-job分布式调度解决方案
Spring-boot整合elastic-job分布式调度解决方案 文档地址:http://elasticjob.io/docs/elastic-job-lite/00-overview/intro/
林老师带你学编程
2019/05/25
3.8K0
集成elastic-job分布式调度定时任务
定时任务这一组件在工作过程中经常使用到,在单机节点上可以直接选择使用Spring自带的定时任务组件hubble-task,而这种定时任务一旦确定固化了定时触发策略,也无法动态开启关闭,所以后来有了Quartz。
余生大大
2022/11/02
8560
集成elastic-job分布式调度定时任务
分布式作业 Elastic-Job 快速上手指南,从理论到实战一文搞定!
Elastic-Job支持 JAVA API 和 Spring 配置两种方式配置任务,这里我们使用 JAVA API 的形式来创建一个简单的任务入门,现在都是 Spring Boot 时代了,所以不建议使用 Spring 配置文件的形式。 Elastic-Job 需要依赖 Zookeeper 中间件,用于注册和协调作业分布式行为的组件,目前仅支持 Zookeeper。我们已经创建了 Zookeeper 集群! 环境要求 1、Java 请使用 JDK 1.7 及其以上版本。 2、Zookeeper 请使用
Java技术栈
2018/06/04
1.8K0
elastic-job入门demo
以及在网上找了相关demo,基本上都是复制了官网的简单教程,没有一个明确的demo.
3号攻城狮
2018/05/29
2.1K6
elastic-job入门demo
一文搞懂Elastic-Job(内附源码解析)
Elastic-Job是当当基于Zookepper,Quartz开发并且开源的Java分布式定时任务,解决Quartz不支持分布式的弊端。它由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。
胖虎
2019/06/26
4.3K2
一文搞懂Elastic-Job(内附源码解析)
从Zookeeper 到 Elastic Job 的Simple Job使用(二)
按理说,我赋值的是shardingparameter,但是结果确实jobparameter,因为我一开始使用了jobparameter,然后改成shardingparameter
MickyInvQ
2020/09/27
1.7K0
从Zookeeper 到 Elastic Job 的Simple Job使用(二)
看完这篇文章,还敢说自己不会分布式任务调度?
以上场景就是任务调度所需要解决的问题,任务调度是为了自动完成特定任务,在约定的特定时刻去执行任务的过程。
上分如喝水
2021/08/16
1.3K0
看完这篇文章,还敢说自己不会分布式任务调度?
SpringBoot2 整合ElasticJob框架,定制化管理流程
在前面的文章中,说过QuartJob这个定时任务,被广泛应用的定时任务标准。但Quartz核心点在于执行定时任务并不是在于关注的业务模式和场景,缺少高度自定义的功能。Quartz能够基于数据库实现任务的高可用,但是不具备分布式并行调度的功能。
知了一笑
2020/03/12
6800
springboot整合定时框架-Elastic-job-lite
一、前言 本文Github地址 官网地址 当当网张亮主导开发的分布式任务调度框架,结合zookeeper技术解决quartz框架在分布式系统中重复的定时任务导致的不可预见的错误! Code Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。 Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务;Elastic-Job-Cloud采用自研Mesos Fram
MiChong
2020/09/24
2.4K0
分布式调度Elastic-Job攻略
昨天虽然试用了一下唯品会的“土星”,但是我实在没想明白他的Job该怎么用Spring来托管,所以没有使用。今天来说一下当当的Elastic-Job.
算法之名
2019/08/20
9370
分布式定时任务调度框架实践
分布式任务调度框架几乎是每个大型应用必备的工具,本文介绍了任务调度框架使用的需求背景和痛点,对业界普遍使用的开源分布式任务调度框架的使用进行了探究实践,并分析了这几种框架的优劣势和对自身业务的思考。
2020labs小助手
2020/03/09
1.4K0
Elastic Job 入门详解
Elastic job是当当网架构师张亮,曹昊和江树建基于Zookepper、Quartz开发并开源的一个Java分布式定时任务,解决了Quartz不支持分布式的弊端。Elastic job主要的功能有支持弹性扩容,通过Zookepper集中管理和监控job,支持失效转移等,这些都是Quartz等其他定时任务无法比拟的。
全栈程序员站长
2022/07/05
4750
定时任务之elastic-job概述
例子中是HelloQuartz。 为什么设计成JobDetail + Job,不直接使用Job?这是因为任务是有可能并发执行,如果Scheduler直接使用Job,就会存在对同一个Job实例并发访问的问题。而JobDetail & Job 方式,sheduler每次执行,都会根据JobDetail创建一个新的Job实例,这样就可以规避并发访问的问题。
翎野君
2023/05/12
6950
定时任务之elastic-job概述
elastic-job-lite入门以及架构原理分析
简单作业类型:我们实现SimpleJob接口中的execute方法,在里面处理自己的业务需求,调度器通过配置的cron表达式进行调度。
阿伟
2019/07/17
4.7K1
elastic-job-lite入门以及架构原理分析
分布式定时任务Elastic-Job框架在SpringBoot工程中的应用实践(一)
摘要:如何构建具备作业分片和弹性扩缩容的定时任务系统是每个大型业务系统在设计时需要考虑的重要问题? 对于构建一般的业务系统来说,使用Quartz或者Spring Task即可基本满足我们的单体服用应用需要。然而随着线上业务量的不断发展,这两种定时任务已经日渐无法满足我们的需求。一般,使用这两种定时任务框架都会遇到如下的两个痛点问题: (1)如果业务工程采用集群化的部署,可能会多次重复执行定时任务而导致系统的业务逻辑错误,并产生系统故障。 (2)Quartz的集群方案具备HA功能,可以实现定时任务的分发,但是通过增加机器节点数量的方式并不能提高每次定时任务的执行效率,无法实现任务的弹性分片。 一线互联网大厂都有他们自己为其业务定制化研发的分布式定时任务系统,业务研发工程师可以通过在其Web Console的界面上进行简单的任务配置即可使得大型业务系统实现定时任务的调度、分发、分片、监控和扩缩容等功能。那么,业界是否有开源的组件框架同样具备这些功能呢?答案是肯定的!本文将向大家介绍一款开源的分布式定时任务调度框架—Elastic-Job的功能和原理,同时通过一个简单的案例阐述如何在Spring Boot工程完成Elastic-Job的集成。
用户2991389
2018/09/05
3K1
分布式定时任务Elastic-Job框架在SpringBoot工程中的应用实践(一)
分布式作业 Elastic-Job-Lite 源码分析 —— 作业配置
一个作业( ElasticJob )的调度,需要配置独有的一个作业调度器( JobScheduler ),两者是 1 : 1 的关系。这点大家要注意下,当然下文看代码也会看到。
芋道源码
2018/09/30
1.4K0
分布式作业 Elastic-Job-Lite 源码分析 —— 作业配置
分布式做系统 Elastic-Job-Lite 源码分析 —— 作业初始化
作业注册表( JobRegistry ),维护了单个 Elastic-Job-Lite 进程内作业相关信息,可以理解成其专属的 Spring IOC 容器。因此,其本身是一个单例。
芋道源码
2018/09/30
6370
分布式做系统 Elastic-Job-Lite 源码分析 —— 作业初始化
Java定时任务框架选型
在现代软件开发中,定时任务是不可或缺的组成部分。从数据同步、缓存刷新到报表生成、消息推送,各种业务场景都需要依赖定时任务来驱动。Java作为企业级应用开发的主流语言,拥有丰富的定时任务框架生态。但面对众多选择,如何根据项目需求选择合适的框架成为了开发者需要认真考虑的问题。
编程小白狼
2025/08/30
2690
快速学习-ElasticJob-Lite Quick Start
引入 Maven 依赖 <dependency> <groupId>org.apache.shardingsphere.elasticjob</groupId> <artifactId>elasticjob-lite-core</artifactId> <version>${latest.release.version}</version> </dependency> 作业开发 public class MyJob implements SimpleJob { @O
cwl_java
2020/09/22
3450
分布式作业系统 Elastic-Job-Cloud 源码分析 —— 本地运行模式
摘要: 原创出处 http://www.iocoder.cn/Elastic-Job/cloud-local-executor/
芋道源码
2019/10/29
7470
推荐阅读
相关推荐
Spring-boot整合elastic-job分布式调度解决方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档