ElasticJob个人总结

一、什么是ElasticJob

ElasticJob是一个轻量的、无中心化的分布式定时任务解决方案。

二、ElasticJob有何特点

1.无中心化

ElasticJob的特点是没有一个固定的主服务器。而是所有服务器都可以通过选举成为主服务器,当主服务器宕机时,重新选举出一个新的主服务器。因此不用担心主服务器宕机后导致其他服务器的业务停止的情况。

2.弹性调度

ElasticJob有任务分片的概念,可以将任务分成多片,然后在分布式环境下运行,每台任务服务器实际只运行分配给该服务器的分片。随着服务器的增加或宕机,ElasticJob 会近乎实时的感知服务器数量的变更,从而重新为分布式的任务服务器分配更加合理的任务分片项,使得任务可以随着资源的增加而提升效率。

3.失效转移

开启失效转移功能后。当作业执行过程中服务器宕机,失效转移允许将该次未完成的任务在另一作业节点上补偿执行。

4.错过任务重执行

ElasticJob 不允许作业在同一时间内叠加执行。 当作业的执行时长超过其运行间隔,错过任务重执行能够保证作业在完成上次的任务后继续执行逾期的作业。

三、入门Demo

如果你已经有一个SpringBoot集成的项目和zookeeper环境,那么你可以非常快速的给你的项目集成Elasticjob

1.环境要求

Java 8及以上版本
Maven 3.5.0及以上版本
ZooKeeper 3.6.0及以上版本

2.添加依赖

给你的项目添加elasticjob-lite-spring-boot-starter依赖

<dependency><groupId>org.apache.shardingsphere.elasticjob</groupId><artifactId>elasticjob-lite-spring-boot-starter</artifactId><version>3.0.0</version>
</dependency>
3.作业开发

然后直接就可以开始你的定时任务开发了!

package org.example.job;import org.apache.shardingsphere.elasticjob.api.ShardingContext;
import org.apache.shardingsphere.elasticjob.simple.job.SimpleJob;
import org.springframework.stereotype.Component;@Component
public class HelloWorldJob implements SimpleJob {@Overridepublic void execute(ShardingContext shardingContext) {System.out.println("执行定时任务");}
}

配置

elasticjob:regCenter:#zk地址和端口号serverLists: xxx.xxx.xxx.xxx:xxxxnamespace: hello-world-elasticjob# 等待重试的间隔时间的初始值   单位:毫秒base-sleep-time-milliseconds: 10000# 等待重试的间隔时间的最大值max-sleep-time-milliseconds: 30000# 最大重试次数max-retries: 3# 会话超时时间 单位: 毫秒session-timeout-milliseconds: 600000# 连接超时时间 单位: 毫秒connection-timeout-milliseconds: 600000jobs:#任务名称HelloWorldJob:elasticJobClass: org.example.job.HelloWorldJobcron: 0/5 * * * * ?#分片数量shardingTotalCount: 1

附上官方文档地址:
ElasticJob官方文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145917.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

rsyslogd 内存占用很高解决方案

在Kubernetes&#xff08;K8S&#xff09;集群中&#xff0c;监控日志是非常重要的&#xff0c;而rsyslogd是Linux系统中用于处理系统和应用程序日志的守护进程。有时候rsyslogd可能会占用较高的内存&#xff0c;这时候我们就需要对其进行优化和调整。 阿里云虚拟服务器&…

创客中国AIGC专题赛冠军天鹜科技:AI蛋白质设计引领者

“落霞与孤鹜齐飞,秋水共长天一色——这句出自《滕王阁序》的诗句,是我作为江西人熟记于心的佳句。它描绘的天地壮丽景色常浮现于我的脑海,正是这种豁达与壮观,启发我们将公司命名为‘天鹜科技’,我们希望将源自自然的蛋白质与现代科技的创新精神相结合,打造蛋白质设计与应用的…

16_Python的迭代器

在Python中&#xff0c;迭代是一个非常重要的概念。迭代通常指的是按照某种顺序逐个访问容器中的元素的行为。如使用for循环遍历取值的过程。 可迭代对象&#xff08;Iterable&#xff09; 可迭代对象是任何可以返回一个迭代器的对象。简单来说&#xff0c;它是可以逐一返回其…

机器学习模型中特征贡献度分析:预测贡献与错误贡献

在机器学习领域&#xff0c;特征重要性分析是一种广泛应用的模型解释工具。但是特征重要性并不等同于特征质量。本文将探讨特征重要性与特征有效性之间的关系&#xff0c;并引入两个关键概念&#xff1a;预测贡献度和错误贡献度。 核心概念 预测贡献度&#xff1a;衡量特征在…

【C++】—— stack queue deque

【C】—— stack & queue & deque 1 stack 与 queue 的函数接口2 适配器2.1 发现问题2.2 什么是适配器 3 stack 与 queue的模拟实现3.1 栈的基础框架3.2 栈的模拟实现3.3 队列的模拟实现 4 模板的按需实例化5 deque 的简单介绍5.1 vector 与list对比5.1.1 vector5.1.2 …

C++函数重载完成日期类相关计算

本文内容如下&#xff1a; 1.创建类以及函数的声明2.日期加减天数1.月份天数2.函数实现 3.日期比较大小4.日期减日期1.日期的前置和后置加加2.日期减日期的实现 5.内置类型的cout和cin本文代码如下&#xff1a; 要完成日期类的相关计算要创建自定义的类型&#xff0c;然后用函数…

获取IPV6地址的参考网站|nginx解析IPV6|linux服务器获取IPV6的方法

获取IPV6地址的参考网站 网址1 https://v6.ident.me/ 网址2 https://ifconfig.co/ 网址3 https://ifconfig.me/ IPV6检测站点推荐 网址1 http://ipv6-test.ch/ linux服务器获取IPV6的方法 以centos7为例 curl -6 ifconfig.mecurl -6 https://v6.ident.mecurl -6 https:…

python安装-升级

这里写自定义目录标题 欢迎使用Markdown编辑器 欢迎使用Markdown编辑器 运行python 或pycharm时报错 [notice] A new release of pip is available: 23.1.2 -> 24.2 [notice] To update, run: python.exe -m pip install --upgrade pipCMD 进入 DOS C:\Users\wang>pyt…

解密MQ消息积压:让你系统瞬间卡死的幕后黑手

文章目录 什么是MQ消息积压&#xff1f;消息积压的常见原因案例分析&#xff1a;如何处理消息积压&#xff1f;场景1&#xff1a;消费者处理速度过慢场景2&#xff1a;消息生产速度过快 如何预防消息积压&#xff1f;1. **监控与告警**2. **动态扩容**3. **限流与降级**4. **合…

插入与冒泡排序(C++)

\一、插入排序 1 简介 插入排序&#xff0c;也称为直接插入排序&#xff0c;其排序思想和我们平时打扑克牌时排序类似。 2 算法步骤 将第一个元素看作已排序序列&#xff0c;第二个到最后一个看作未排序序列。 第二个元素&#xff0c;与之前已排序号的序列进行对比&#x…

面试题---链表分割(安全性问题)

题目&#xff1a; 现有一链表的头指针 ListNode* pHead&#xff0c;给一定值x&#xff0c;编写一段代码将所有小于x的结点排在其余结点之前&#xff0c;且不能改变原来的数据顺序&#xff0c;返回重新排列后的链表的头指针。 假设有一链表&#xff1a; 给定x6 MySingleList …

乐(智)尚代驾-------Day3(afternoon关于aop特殊一栏)~

谢谢你们的阅读uu们&#xff01;~~ 下午这部分内容是aop往后啦&#xff0c;大家要明确一个思路&#xff0c;用aop进行简化操作更加方便 紧接上部分~ 登录校验 如何判断是否登录状态&#xff1f; – 判断请求头里面是否包含token字符串 – 根据token查询redis 如何实现&…

多源最短路径

文章目录 1. 01 矩阵&#xff08;542&#xff09;2. 飞地的数量&#xff08;1020&#xff09;3. 地图分析&#xff08;1162&#xff09;4. 地图中的最高点&#xff08;1765&#xff09; 1. 01 矩阵&#xff08;542&#xff09; 题目描述&#xff1a; 算法原理&#xff1a; 这…

骨传导耳机怎么选?健身教练测评五大畅销爆款骨传导耳机!

随着健康生活方式的普及&#xff0c;越来越多的人开始注重日常锻炼与健康管理。而在这股健身热潮中&#xff0c;骨传导耳机因其独特的佩戴方式和开放耳道的设计&#xff0c;成为了运动爱好者的新宠。它们不仅能够在运动时提供安全舒适的听觉体验&#xff0c;还能让使用者随时留…

Java入门:09.Java中三大特性(封装、继承、多态)03

5 多态 首先&#xff0c;什么是多态呢&#xff1f; 多态即事物的多种表现形态。 就像生活中&#xff0c;人就有多种表现形态&#xff1a;学生&#xff0c;老师&#xff0c;警察&#xff0c;医生等。 那么在Java中也有类似的概念 它的作用就是&#xff1a;在封装时&#xf…

【Deloitte】AI大模型时代C端应用生态变局

类比PC时代到移动互联网时代的发展&#xff0c;可以窥见AI时代的来临将带来诸多颠覆与创新&#xff0c;这让所有关注AI发展的人们既心生期待又满怀敬畏。 德勤中国《AI大模型时代C端应用生态变局》报告深入探讨了AI对C端应用影响的四大发展趋势。 趋势一&#xff1a;AI 大模型…

【zookeeper安装】zookeeper安装详细教程(单机/集群部署)(linux版)

文章目录 前言一、zookeeper简介二、获取Zookeeper安装包2.1. 离线获取2.2. 在线获取2.3. 解压包 三、单机部署3.1. 配置conf文件3.2. 启动服务 四、集群部署4.1. 概念4.2. 配置conf文件4.3. 创建myid文件4.3. 启动每个节点的zookeeper服务 五、配置systemctl管理&#xff08;选…

修改 Visual Studio 的主题颜色、背景颜色、字体

本人使用的是 VS2019 版本的。 点击上方工具栏中的【工具】-> 【选项】。 在 【环境】->【常规】中&#xff0c;可以更改整个界面的主题颜色。 浅色和深色的主题如下&#xff1a; 在【环境】->【字体和颜色】中&#xff0c;可以更改代码区的背景色。 不同背景示例&…

RK3568笔记六十:V4L2命令测试

若该文为原创文章,转载请注明原文出处。 测试V4L2是想移植韦老师的相机程序,但他使用的是V4L2方式采集摄像头。 而正点原子的rknn使用的是opencv。 这里记录测试过程 一、常用调试命令 1、抓取图像 使用 v4l2-ctl 抓取一帧图像:v4l2-ctl -d /dev/video0 --set-fmt-video…

计算机图形学 中心画圆算法 原理及matlab代码实现

中心画圆算法原理 总体思路&#xff1a; 将圆划分为八部分&#xff0c;先通过diF(xi1,yi-0.5)和隐函数Fx2y2-R2绘制八分之一的圆&#xff0c;然后通过圆的对称性确定另外七个部分的相应坐标绘制完整的圆。 求中点误差项递推公式&#xff1a; 从(x0,y0r)开始&#xff0c;因绘…