分布式定时任务 | 青训营笔记

简介: 分布式定时任务 | 青训营笔记

前言

关于分布式定时任务主要解决以下问题

  • 定时任务的分布式架构如何搭建?
  • 如何保证定时任务的稳定性,有效性?
  • 如何保证定时任务在大流量情况下的压力?
  • 如何保证定时任务的可靠性?

技术实现

定时任务分布式架构搭建

  • RabbitMQ:作为消息中间件,维护定时任务的状态,多台机器相互协作完成定时任务。
  • Redis: 作为缓存中间件,可以将任务放入redis缓存,便于统一管理、快速获取执行任务,也可以将某些数据放入缓存,提高查询效率。
  • Zookeeper: 作为注册中心,用来存储定时任务的地址,以及各个定时任务的状态,方便集群管理。

保证定时任务的稳定性

  • 定时任务的执行过程应该是按照一定的时间间隔进行,为了防止定时任务出现延迟,需要在定时任务之前,先进行状态检查,确保定时任务能够按照时间间隔进行。
  • 通过RabbitMQ来消费定时任务,可以保证定时任务的运行不会出现问题,并且可以根据实际情况调整定时任务的执行时间间隔。
  • 通过Redis来存储定时任务的状态,可以保证定时任务的稳定性,并且可以根据实际情况调整定时任务的执行时间间隔。

保证定时任务在大流量情况下的压力

  • 负载均衡: 在定时任务的处理上,采用负载均衡的技术,将定时任务分发给多台机器,以提高系统的处理能力,减轻大流量的压力。
  • 限流: 对定时任务的处理上,采用限流的技术,将定时任务的处理量限制在一定的范围内,以提高系统的稳定性,减轻大流量的压力。

保证定时任务的可靠性

  • 使用分布式事务技术来保证定时任务的可靠性,可以保证定时任务在失败时可以重新执行,以避免定时任务发生错误。
  • 采用容错机制,当定时任务出现错误时,可以重新执行,以保证定时任务的可靠性。


目录
相关文章
|
3月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
106 1
|
2月前
|
缓存 NoSQL Java
谷粒商城笔记+踩坑(12)——缓存与分布式锁,Redisson+缓存数据一致性
缓存与分布式锁、Redisson分布式锁、缓存数据一致性【必须满足最终一致性】
102 14
谷粒商城笔记+踩坑(12)——缓存与分布式锁,Redisson+缓存数据一致性
|
2月前
|
存储 NoSQL 调度
|
2月前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
6月前
|
NoSQL Java 关系型数据库
【Redis系列笔记】分布式锁
分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路
633 2
|
4月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
Spring Cloud Alibaba 发布了 Scheduling 任务调度模块 [#3732]提供了一套开源、轻量级、高可用的定时任务解决方案,帮助您快速开发微服务体系下的分布式定时任务。
14853 28
|
3月前
|
存储 消息中间件 移动开发
还在用crontab? 分布式定时任务了解一下
还在用crontab? 分布式定时任务了解一下
|
3月前
|
消息中间件 存储 Kafka
微服务实践之分布式定时任务
微服务实践之分布式定时任务
|
3月前
|
Dubbo Java 调度
揭秘!Spring Cloud Alibaba的超级力量——如何轻松驾驭分布式定时任务调度?
【8月更文挑战第20天】在现代微服务架构中,Spring Cloud Alibaba通过集成分布式定时任务调度功能解决了一致性和可靠性挑战。它利用TimerX实现任务的分布式编排与调度,并通过`@SchedulerLock`确保任务不被重复执行。示例代码展示了如何配置定时任务及其分布式锁,以实现每5秒仅由一个节点执行任务,适合构建高可用的微服务系统。
63 0
|
5月前
|
NoSQL 前端开发 Java
技术笔记:springboot分布式锁组件spring
技术笔记:springboot分布式锁组件spring
52 1