Elastic-Job的快速入门,三分钟带你体验分布式定时任务

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: Elastic-Job的快速入门,三分钟带你体验分布式定时任务

首先我们需要了解ElasticJob 是什么?


ElasticJob是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和ElasticJob-Cloud 组成。

它通过弹性调度、资源管控、以及作业治理的功能,打造一个适用于互联网场景的分布式调度解决方案,并通过开放的架构设计,提供多元化的作业生态。

它的各个产品使用统一的作业 API,开发者仅需一次开发,即可随意部署。


看看他们两个有什么区别?


0156f51b41ab4a01b1eb82f4f05fa150.png

我们这次要讲的就是lite版本的


我们需要准备的环境:

jdk + zookeeper + maven


快速开始

大家也可以直接去我的代码仓库拉下来直接运行:


https://gitee.com/WangFuGui-Ma/elastic-job-quickstart


第一步,创建一个maven项目并导入jar包

  <dependencies>
        <dependency>
            <groupId>com.dangdang</groupId>
            <artifactId>elastic-job-lite-core</artifactId>
            <version>2.1.5</version>
        </dependency>
    </dependencies>

9e5b92d91d754e47b2516d93d14b2a2e.png

第二步,创建一个myjob类继承simplejob类

624850d36d4348b48f56e05ddba0810c.png

public class MyJob implements SimpleJob {
    public void execute(ShardingContext shardingContext) {
        System.out.println("定时任务开始执行了"+ new Date());
    }
}


第三步,创建一个JobDemo启动类



e761d43ae7e34001be07c318a863ebc1.png

public class JobDemo {
    public static void main(String[] args) {
        new JobScheduler(createRegistryCenter(), createJobConfiguration()).init();
    }
    private static LiteJobConfiguration createJobConfiguration() {
        //创建作业配置
        JobCoreConfiguration demoSimpleJob = JobCoreConfiguration.newBuilder("demoSimpleJob", "0/3 * * * * ?", 1).build();
        SimpleJobConfiguration simpleJobConfiguration = new SimpleJobConfiguration(demoSimpleJob, MyJob.class.getCanonicalName());
        return LiteJobConfiguration.newBuilder(simpleJobConfiguration).build();
    }
    private static CoordinatorRegistryCenter createRegistryCenter() {
        ZookeeperConfiguration zkConfig = new ZookeeperConfiguration("localhost:2181", "elasticJob");
        zkConfig.setSessionTimeoutMilliseconds(100);
        CoordinatorRegistryCenter elasticJob = new ZookeeperRegistryCenter(zkConfig);
        elasticJob.init();
        return elasticJob;
    }
}


第四步,启动本地的zookeeper

如果不知道怎么启动和安装的话可以参考我的文章:

https://blog.csdn.net/csdnerM/article/details/121848173


第五步,启动jobdemo

控制台就会开始打印啦!!恭喜你完成了Elastic-Job的快速入门!!


7751a688c82743e9b1daa9c392b81fd1.png



相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
29天前
|
Java 调度 Maven
Elastic-job分布式调度系统
Elastic-job分布式调度系统
|
9天前
|
SQL 监控 关系型数据库
TiDB 分布式数据库快速入门详解
这些示例展示了TiDB的一些基本操作。实际使用时,你可能需要根据具体的业务需求和环境进行调整和优化。
|
5月前
|
监控 Java Nacos
【分布式流控组件 Sentinel 快速入门】——图文详解操作流程(上)
【分布式流控组件 Sentinel 快速入门】——图文详解操作流程
145 0
【分布式流控组件 Sentinel 快速入门】——图文详解操作流程(上)
|
2月前
|
Java BI 调度
Spring Boot 整合xxl-job实现分布式定时任务
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 xxl是xxl-job的开发者大众点评的许雪里名称的拼音开头。
|
5月前
|
Java 调度 Docker
Spring Boot 3 整合 xxl-job 实现分布式定时任务调度,结合 Docker 容器化部署(图文指南)
Spring Boot 3 整合 xxl-job 实现分布式定时任务调度,结合 Docker 容器化部署(图文指南)
Spring Boot 3 整合 xxl-job 实现分布式定时任务调度,结合 Docker 容器化部署(图文指南)
|
5月前
|
消息中间件 安全 Java
一起来探究@Schedule定时任务在分布式产生的问题
一起来探究@Schedule定时任务在分布式产生的问题
260 0
|
5月前
|
监控 Dubbo Linux
【分布式流控组件 Sentinel 快速入门】——图文详解操作流程(下)
【分布式流控组件 Sentinel 快速入门】——图文详解操作流程(下)
111 0
|
5月前
|
算法 API 网络架构
【分布式流控组件 Sentinel 快速入门】——图文详解操作流程(中)
【分布式流控组件 Sentinel 快速入门】——图文详解操作流程(中)
106 0
|
6月前
|
NoSQL Java 数据库连接
分布式系列教程(46) -分布式定时任务锁(ShedLock实现)
分布式系列教程(46) -分布式定时任务锁(ShedLock实现)
137 0
|
7月前
|
设计模式 JavaScript 前端开发
12分布式电商项目 - AngularJS快速入门
12分布式电商项目 - AngularJS快速入门
21 0