什么是分布式定时任务

分布式定时任务是指,把分散的,可靠性差的计划任务纳入统一的平台,并实现集群管理调度和分布式部署的一种定时任务的管理方式。分布式定时任务的方案,都是基于单点+集群的模式,即选中一个系统作为单点保证任务不会重复,其他服务执行任务确保系统高可用、低负载。

什么是分布式定时任务

一、什么是分布式定时任务

分布式定时任务是指,把分散的,可靠性差的计划任务纳入统一的平台,并实现集群管理调度和分布式部署的一种定时任务的管理方式。分布式定时任务的方案,都是基于单点+集群的模式,即选中一个系统作为单点保证任务不会重复,其他服务执行任务确保系统高可用、低负载。

二、目标方向

  1. 避免多节点对同样数据执行定时任务,避免定时任务高负载。
  2. 集中管理定时任务数据,不因微服务的实例数出现数据错乱。
  3. 提高定时任务容错能力,失败的定时任务可以及时再次执行。
  4. 降低定时任务创建难度,根据文档可快速进行创建。

三、为什么要采用分布式定时任务

单点定时任务的缺点:

功能相对简单,交互性差,任务部署效率低,开发和维护成本比较高,不能很好的满足各系统定时任务的管理和控制,尤其在多系统的环境下更加明显;
许多任务都是单机部署,可用性差;
任务跟踪和告警难以实现。

分布式定时任务的优势:

通过集群的方式进行管理调度,大大降低了开发和维护成本;
分布式部署,保证了系统的高可用性,伸缩性,负载均衡,提高了容错;
可以通过控制台部署和管理定时任务,方便灵活高效;
任务都可以持久化到数据库,避免了宕机和数据丢失带来的隐患,同时有完善的任务失败重做机制和详细的任务跟踪及告警策略。


延伸阅读

单节点任务调度服务发 MQ 请求

创建一个任务调度服务,任务调度服务部署成单结点模式,定时任务以 MQ 的方式去向微服务调用任务请求,微服务中某一个节点消费执行任务。

缺点:

  1. 单节点任务调度服务无法承担大量定时任务。
  2. 依赖消息队列,消息队列挂了会导致大量定时任务堆积。

选定微服务节点发 MQ 请求

在微服务中选定一个节点作为任务调度中间服务,然后在这个节点执行定时任务,将定时任务以 MQ 的方式去向微服务调用任务请求,微服务中某一个节点消费执行任务。

缺点:

  1. 选定的节点负载相较于其他节点偏高。
  2. 依赖消息队列,消息队列挂了会导致大量定时任务堆积。
  3. 微服务中需要额外维护生产者和消费者代码。

文章标题:什么是分布式定时任务,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/62271

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年7月28日 下午10:00
下一篇 2023年7月28日 下午10:14

相关推荐

  • osmo编程是什么

    OSMO编程是一种 1、面向儿童的互动学习方法,以及 2、利用物理道具与数字界面相结合的技术。这种方法特别关注通过游戏化学习促使孩子们掌握编程逻辑。在这众多的优势之中,其对于培养孩子的逻辑思维能力尤其突出。通过将代码块与屏幕上的动作直观相连,OSMO编程不仅让编程学习变得生动有趣,还让孩子们能够即刻…

    2024年5月2日
    2100
  • 车床编程k是什么意思

    车床编程中的K代表刀具半径补偿值或是固定循环参数。其中,详细地说,刀具半径补偿值的使用在复杂零件的加工中显得尤为重要。这一功能能够让操作者在编程时不必精确计算刀具轨迹与实际零件轮廓之间的差异,大大简化了编程流程,提高了加工效率。通过设定合适的K值,就能让机床自动调整刀具路径,以适应零件的实际尺寸和形…

    2024年4月27日
    5400
  • 网络编程是什么书

    网络编程是一门涉及计算机网络及其交互过程中数据传输的技术领域。1、它允许软件开发者创建能够进行数据交换的应用程序。这一点尤为重要,因为它提供了一种有效的方法来利用网络资源,无论是在本地网络还是在全球互联网上。通过网络编程,开发者可以定制协议和通信机制,以适应特定的网络通信需求。例如,一个在线支付系统…

    2024年4月27日
    4400
  • 编程找什么工作

    编程能找到的工作包括:1、软件开发工程师、2、数据分析师、3、机器学习工程师、4、前端开发工程师、5、后端开发工程师。 在这些工作中,软件开发工程师 是最常见的职业路径。软件开发工程师负责设计、测试和开发软件,这要求具备强大的编程能力、逻辑思维和问题解决技能。在软件开发的过程中,他们可能会使用多种编…

    2024年4月26日
    4000
  • devops什么意思啊

    DEVOPS是一组过程、方法与系统的整合,旨在促进开发(Dev)与运维(Ops)的协作和通信。这一概念主张软件开发(Dev)与IT运维(Ops)的交互合作、在开发及部署过程中巩固合作团队的责任感,以实现更快速的迭代更新和更稳定的生产环境。2、通过自动化的方式,加速服务交付,进而提升企业的服务效率与市…

    2024年3月26日
    9400
  • 编程社团名取什么名字

    编程社团的命名是一个既富有创意又充满技术氛围的过程,最佳的名字既要吸引同好者的目光,也要准确传达社团的核心价值和使命。1、创意与寓意并重的名称、2、简洁易记且具有识别度、3、反映编程语言或技术特点是三个主要的命名原则。 1、创意与寓意并重的名称不仅能吸引潜在成员的兴趣,还能让人一眼看去就有深刻的第一…

    2024年4月27日
    4300
  • 初学编程学什么语言

    初学编程应该学习Python、JavaScript、或Java。其中,Python因其简洁的语法结构和高度的易读性而广受初学者的欢迎。此外,Python的多范式编程能力、庞大的标准库和生态系统,使其成为初学者理解编程基础概念的理想选择。 Python 被设计为易于阅读和书写的语言,这对初学者来说至关…

    2024年4月25日
    6100
  • 十六进制的编程代码是什么

    十六进制编程代码通常指的是将二进制数表示为十六进制数,以简化代码书写、阅读和调试过程。常见的形式包括1、使用前缀0x表示十六进制;2、十六进制转换函数和表达式;3、字面量和字符串的十六进制形式。 在计算机编程中,十六进制用得非常普遍,其优点在于简洁性。因为十六进制的一个字符可以表示四个二进制位,这简…

    2024年4月27日
    4700
  • 什么是编程编程带来什么好处

    编程是解决问题的过程,通过编写可被计算机理解的指令集来实现。编程的好处包括:1、提高效率;2、促进创新;3、激发思维;4、职业发展。 其中,提高效率尤为突出,因为自动化流程减少了人为的介入和出错几率,同时加速了数据处理和任务执行速度。 一、提高效率 编程使得重复性和耗时的任务可以自动化。通过编写脚本…

    2024年4月30日
    2500
  • 佛山编程玩具是什么样的

    佛山编程玩具的特点主要包括以下四点:1、寓教于乐、2、提高逻辑思维、3、强调互动体验、4、适应性强。 其中,寓教于乐是其最引人注目的特点。通过将编程原理和操作实践整合到具有趣味性的玩具中,不仅能够激发孩子们的学习兴趣,还能在玩乐的过程中自然而然地掌握编程的基础知识和技能,这种学习方式与传统的枯燥编程…

    2024年4月27日
    4200

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部