schedule-13-How to 如何实现分布式调度?
需求
如何实现分布式调度?
任务的触发
什么时候,知道任务需要触发?
任务的执行?
任务应该如何被执行?
任务的触发调度
要求
保证服务的触发是高可用的。
而不是为了让任务的触发,只保留一台触发调度,这种不满足 HA 的条件。
保证每次只有一台机器可以执行任务,这就需要分布式锁。
实现方式
可以参考:
基于数据库最简单...
2024-01-10 13:01:55 |
Schedule
schedule-13-How to 如何实现分布式调度?
需求
如何实现分布式调度?
任务的触发
什么时候,知道任务需要触发?
任务的执行?
任务应该如何被执行?
任务的触发调度
要求
保证服务的触发是高可用的。
而不是为了让任务的触发,只保留一台触发调度,这种不满足 HA 的条件。
保证每次只有一台机器可以执行任务,这就需要分布式锁。
实现方式
可以参考:
基于数据库最简单...
2024-01-10 13:01:55 |
Schedule
schedule-12-从零实现一个简单的分布式调度平台
需求
一个分布式调度系统在如今是非常常见的。
本来希望直接使用已有的一些分布式调度平台,但是又觉得太重。
于是,最后还是决定先自己实现。
如何设计配置的通知机制呢?
如果你把调度系统内嵌到业务系统,那么甚至可以感知到调度配置的变化,这样可能更加简单。
不过一般都是分开的。
1) 如果想设计成为推送的模式,那么就要引入 mq 或者 tcp 等通知机制。
2) 那么,能不能简单点...
2024-01-10 13:01:55 |
Schedule
schedule-11-时间轮算法(Time Wheel Algorithm) 入门介绍
chat
详细介绍一下时间轮算法
时间轮算法(Time Wheel Algorithm)是一种常用于处理定时任务的数据结构和算法。
它可以高效地管理和执行一系列定时任务,特别是在需要频繁添加、删除和执行任务时表现良好。
时间轮算法主要用于实现定时器功能,比如在操作系统、网络通信、任务调度等领域。
基本思想:
时间轮算法的基本思想是将时间划分为若干个固定大小的时间片(也称为槽位),...
2024-01-10 13:01:55 |
Schedule
schedule-10-java 调度基础 scheduleAtFixedRate 和 scheduleWithFixedDelay
jdk 的接口定义
/**
* 创建并执行一个定期操作,该操作首次在给定的初始延迟之后变为启用状态,然后在每次执行的终止和下次执行的开始之间具有给定的延迟。
*
* 如果任务的任何执行遇到异常,则将抑制后续执行。否则,任务只能通过取消或终止执行器来终止。
*
* @param command 任务
* @param initialDelay 首次执行之前的延迟时间
* @p...
2024-01-10 13:01:55 |
Schedule
schedule-09-分布式任务调度框架 LTS light-task-scheduler 入门介绍
LTS
LTS(light-task-scheduler) 主要用于解决分布式任务调度问题,支持实时任务,定时任务和Cron任务
lts.pdf
主要功能
支持分布式,解决多点故障,支持动态扩容,容错重试等
Spring扩展支持,SpringBoot支持,Spring Quartz Cron任务的无缝接入支持
节点监控支持,任务执行监控支持,JVM监控支...
2024-01-10 13:01:55 |
Schedule
schedule-09-分布式任务调度框架 LTS light-task-scheduler 安装笔记
准备工作
1、 JDK
Jdk1.6 or later
$ java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
2、 Mave...
2024-01-10 13:01:55 |
Schedule
schedule-08-分布式任务调度流批 hazelcast-jet 开源的、内存中的、分布式的批处理和流处理引擎
Jet是什么
Jet 是一个开源的、内存中的、分布式的批处理和流处理引擎。
您可以使用它来处理大量实时事件或庞大的静态数据集。
为了给您一个规模的感觉,已经证明 Jet 的单个节点可以在 10 毫秒以下的延迟下 聚合每秒 1000 万个事件。
它提供了一个 Java API 通过 数据流编程模型 来构建流和批处理应用程序。在将应用程序部署到 Jet 集群后,Jet 将自动使用集群上的...
2024-01-10 13:01:55 |
Schedule