广告
返回顶部
首页 > 资讯 > 前端开发 > html >分析分布式定时任务elastic-job
  • 722
分享到

分析分布式定时任务elastic-job

2024-04-02 19:04:59 722人浏览 八月长安
摘要

本篇内容介绍了“分析分布式定时任务elastic-job”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在实

本篇内容介绍了“分析分布式定时任务elastic-job”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在实际开发种常会遇到需要定时跑批,定时每天执行一次对账操作等场景。通常采用定时任务如spring定时框架、ScheduledExecutorService等。但这些都只适于单机,当在多节的情况下会出现定时任务重复执行问题,这时候需要采用分布式定时任务来解决。分布式定时任务不仅解决了以上难题,还提供了分片处理提高处理效率、分布式调度协调、弹性扩容缩容、失效转移等优点。

一、常见分布式定时任务有哪些?

当前有很多开源的分布式定时任务,以下列出几种常用的如:

  • elastic-job:当当开发的弹性分布式任务调度系统,功能丰富强大,采用ZooKeeper实现分布式协调,实现任务高可用以及分片,并且可以支持云开发。

  • xxl-job:  是大众点评员工徐雪里于2015年发布的分布式任务调度平台,是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。

  • Saturn:是唯品会自主研发的分布式的定时任务的调度平台,基于当当的elastic-job 版本1开发,并且可以很好的部署到Docker容器上。

其中应用得较多的为elastic-job(E-job)与xxl-job  (X-job),关于两者的技术选型这里不做更多具体的讨论,下面提供两者的综合对比用于参考,可结合实际业务技术场景进行选型

分析分布式定时任务elastic-job

二、elastic-job作业分片策略有哪些?

结合实际场景,选择合适的作业分片策略,进行分片处理可以提高任务的执行效率。以下是elastic-job提供的分片策略

  • AverageAllocationJobShardingStrategy分片策略

  • OdevitySortByNameJobShardingStrategy分片策略

  • RotateServerByNameJobShardingStrategy分片策略

  • 自定义分片策略

分析分布式定时任务elastic-job

1. AverageAllocationJobShardingStrategy分片策略

com.dangdang.ddframe.job.lite.api.strategy.impl.AverageAllocationJobShardingStrategy

策略说明:

基于平均分配算法的分片策略,也是默认的分片策略,作业数能被服务器数整除情况下均匀分配、

分析分布式定时任务elastic-job

如果分片不能整除,则不能整除的多余分片将依次追加到序号小(ip地址靠前)的服务器。

分析分布式定时任务elastic-job

缺点:平均分片策略,当分片数小于作业服务器数时,作业会被永远分配在ip地址靠前的服务器,而导致IP地址靠后的服务器空闲。

分析分布式定时任务elastic-job

2. OdevitySortByNameJobShardingStrategy分片策略

com.dangdang.ddframe.job.lite.api.strategy.impl.OdevitySortByNameJobShardingStrategy

策略说明:

该策略核心思想为根据作业名的哈希值奇偶数决定采用IP升/降序算法实现分片,作业名的哈希值为奇数则IP升序,作业名的哈希值为偶数则IP降序,通过这种方式用于将不同的作业分片负载均衡至不同的服务器。

如作业名哈希值为偶数,则采用IP降序算法实现分片,这样就避免了采用平均分配算法时IP地址靠后的服务器空闲的问题。

分析分布式定时任务elastic-job

其内部采用了平均算法。

分析分布式定时任务elastic-job

3. RotateServerByNameJobShardingStrategy分片策略

com.dangdang.ddframe.job.lite.api.strategy.impl.RotateServerByNameJobShardingStrategy

策略说明:

根据作业名的哈希值对服务器列表进行轮转的分片策略,其内部也是采用平均分片算。,

分析分布式定时任务elastic-job

4. 自定义分片策略

可通过实现JobShardingStrategy接口并实现sharding方法,可根据需求定制化自己的分片策略,以下是Spring中切换自定义分配策略的配置方式。

分析分布式定时任务elastic-job

“分析分布式定时任务elastic-job”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 分析分布式定时任务elastic-job

本文链接: https://www.lsjlt.com/news/85327.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 分析分布式定时任务elastic-job
    本篇内容介绍了“分析分布式定时任务elastic-job”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在实...
    99+
    2022-10-19
  • Java Elastic-Job分布式定时任务使用方法介绍
    目录1 事件追踪1.1 修改Elastic-Job配置类1.2 启动项目2 运维2.1 搭建2.2 配置及使用1 配置注册中心地址2 配置事件追踪数据源3 dump命令1 事件追踪 ...
    99+
    2023-01-16
    Java Elastic-Job Java分布式定时任务
  • 【分布式任务调度】二、Elastic-Job详细介绍
    Elastic-Job 一、What is elastic-job?Elastic-Job-LiteElastic-Job-CloudElastic-job开发环境要求Elastic-Job配置开发1、 使用Java配置方式启动2、...
    99+
    2023-08-30
    java 开发语言
  • springboot整合xxl-job实现分布式定时任务的过程
    目录一、前言二、xxl-job介绍三、修改配置1. 运行sql文件2. 修改xxl-job-admin配置3. 需修改xxl-job-executor-sample-springbo...
    99+
    2022-11-13
    springboot整合xxl-job定时任务 springboot整合xxl-job springboot定时任务
  • SpringBoot配置ShedLock分布式定时任务
    什么是ShedLock ShedLock是一个在分布式环境中使用的定时任务框架,用于解决在分布式环境中的多个实例的相同定时任务在同一时间点重复执行的问题,解决思路是通过对公用的数据...
    99+
    2022-11-12
  • Java微服务分布式调度Elastic-job环境搭建及配置
    目录什么是任务调度为什么需要分布式调度Elastic-Job环境搭建更改Zookeeper配置SpringBoot集成ElasticJob什么是任务调度 任务调度是为了自动完成特定任...
    99+
    2023-02-09
    Java Elastic-job Java微服务分布式调度
  • 一分钟掌握Java ElasticJob分布式定时任务
    目录前言架构功能和特性入门角色写个例子任务执行流程ScheduleJobBootstrap初始化ScheduleJobBootstrap执行执行流程总结分片的策略前言 Elastic...
    99+
    2023-05-19
    Java ElasticJob定时任务 Java 定时任务 Java ElasticJob
  • 分布式任务调度xxl-job问题解决
    目录前言xxl-job简介功能如下快速入门2.1 初始化“调度数据库”2.2 编译源码2.3 配置部署“调度中心”2.4 配置部署&l...
    99+
    2022-11-13
  • redis如何实现分布式定时任务
    Redis本身并不直接支持分布式定时任务的功能,但可以通过Redis的一些特性和与其他组件的结合来实现分布式定时任务。一种常见的实现...
    99+
    2023-09-06
    redis
  • Java微服务分布式调度Elastic-job环境如何搭建及配置
    今天小编给大家分享一下Java微服务分布式调度Elastic-job环境如何搭建及配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2023-07-05
  • 如何解决分布式任务调度xxl-job问题
    这篇文章主要为大家展示了“如何解决分布式任务调度xxl-job问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决分布式任务调度xxl-job问题”这篇文章吧。xxl-job简介XXL-J...
    99+
    2023-06-29
  • 如何利用Redis实现分布式定时任务
    Redis是一个出色的键值存储系统,除了作为缓存使用,还有许多其他用途。其中之一便是作为分布式定时任务的实现工具。在本文中,我们将介绍如何利用Redis实现分布式定时任务,同时提供相应的代码示例。什么是分布式定时任务?在单机环境中,我们可以...
    99+
    2023-11-07
    分布式 redis 定时任务
  • Golang分布式应用定时任务示例详解
    目录正文最小堆时间轮总结正文 在系统开发中,有一类任务不是立即执行,而是在未来某个时间点或者按照一定间隔去执行,比如日志定期压缩、报表制作、过期数据清理等,这就是定时任务。 在单机中...
    99+
    2022-11-11
  • PHP中使用Redis实现分布式定时任务
    Redis是一种高性能的内存数据库,它具有快速的读写速度、支持一定级别的持久性和丰富的数据类型等优点。Redis常被用于缓存、消息队列、实时排行榜等场景。在开发中,我们有时会需要实现分布式的定时任务,比如:发送邮件、清理临时文件、更新缓存等...
    99+
    2023-05-15
    分布式 PHP redis
  • 分布式任务调度系统xxl-job搭建(基于docker)
    XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。更多介绍,请访问官网:http://www.xuxueli.com/xxl-job/#/&n...
    99+
    2023-01-31
    分布式 系统 xxl
  • 如何在SpringBoot中配置ShedLock分布式定时任务
    本篇文章为大家展示了如何在SpringBoot中配置ShedLock分布式定时任务,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是ShedLockShedLock是一个在分布式环境中使用的定时任...
    99+
    2023-06-15
  • SpringBoot怎么集成ShedLock实现分布式定时任务
    本文小编为大家详细介绍“SpringBoot怎么集成ShedLock实现分布式定时任务”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot怎么集成ShedLock实现分布式定时任务”文章能帮助大家解决疑惑,下面跟着小编的思路...
    99+
    2023-07-05
  • 怎么分析ZooKeeper分布式任务调度中心
    怎么分析ZooKeeper分布式任务调度中心,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一: 背景软件系统中,定时任务往往不可或缺,大家可能会采用Spring qu...
    99+
    2023-06-04
  • Schedule定时任务在分布式产生的问题详解
    目录正文一、搭建基本环境二、问题::执行时间延迟和单线程执行三、为什么会出现上述问题?四、解决方式4.1、修改配置文件4.2、执行逻辑改为异步执行4.3、异步定时任务4.4、小结五、...
    99+
    2022-11-13
    Schedule定时任务分布式 Schedule 定时任务
  • web分布式定时任务调度框架怎么使用
    这篇文章主要讲解了“web分布式定时任务调度框架怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web分布式定时任务调度框架怎么使用”吧!一、业务背景1.1 为什么需要使用定时任务调度...
    99+
    2023-06-04
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作