这是我参与「第五届青训营」伴学笔记创作活动的第 7 天
分布式定时任务
什么是分布式定时任务
要了解分布式定时任务首先我们需要知道什么是定时任务,见名知意所谓定时任务就是,在特定的时间点按照特定的计划去实现的任务,比如说win和手机端都有的自动执行任务的工具当你设定触发的时间点时他就是一个定时任务,而分布式定时任务则是用在一个分布式系统只中用于去执行集群中一些需要在特定时间点触发的任务,这些任务可能是分散的分布在集群中,需要被收集触发然后执行,所以需要进行统一的管理调度
分布式定时任务的核心组件
Scheduler:
这个叫做任务调度器,它可以去管理调度分布式定时任务,里面注册了很多的定时任务,以及触发的接口,它以线程池作为依托因此它的处理速度特别快,可以并行去触发定时任务,大大的提升了管理的效率
Trigger
触发器,用于定义一个定时任务执行的条件,并且与Scheduler进行通信告诉调度器什么时候应该去触发哪一个定时任务
Executor
执行器,用于执行定时任务,当任务通过触发器触发之后,任务调度器就会进行调度,看是否有空闲的执行器,如果有就交给执行器去执行
扩展
离线计算引擎hive和实时计算引擎flink都有应用分布式定时任务,在flink中有精确到秒级别的流处理,也有分钟甚至是天级别的批处理,而无论是秒级的流处理还是分钟级别的批处理都是一种定时任务,只是说时效性不一样,他们也都有统一的调度器,触发器还有执行器等等。在如今的云计算领域取得了显著的成效。