目录
分布式任务调度功能
通常情况下,分布式任务调度框架负责以下几个方面的工作:
-
任务管理:负责任务的注册、监控和状态管理,包括任务的提交、取消和重试等操作。
-
资源调度:根据系统资源的实时情况,决定任务应该在哪个节点上执行,以确保资源的最优利用。
-
容错处理:处理节点故障、或任务执行失败的情况,保证任务能够被、及时重新调度和执行。
-
高可用性:确保任务调度系统本身的高可用性,防止单点故障对整个系统造成影响。
分布式任务调度实现
通常在分布式任务调度系统中,会涉及到以下三个重要的组件:
Scheduler 负责任务的合理调度,Trigger 负责根据条件触发任务的执行,而 Job 则是具体的执行单元,执行任务的实际逻辑。
1.Scheduler(调度器)
调度器在分布式任务调度系统中扮演着核心的角色,它通过合理的资源分配和调度策略,确保任务能够按时、高效地完成。
Scheduler(调度器)根据任务的优先级、资源可用性等因素,决定任务应该在哪个节点上执行,以及何时执行。
调度器通常实现了多种调度策略,如先来先服务(FCFS)、最短作业优先(SJF)、最短剩余时间优先(SRTF)、优先级调度等。
2.Trigger(触发器)
在分布式任务调度系统中,触发器(Trigger)是一个关键的组件,负责根据预定义的条件触发任务的执行。
它定义了任务执行的触发条件,可以基于时间、事件、数据等因素来触发任