`
eric_weitm
  • 浏览: 242183 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

light-task-scheduler

 
阅读更多

lts 基本逻辑:

lts 代表light-task-scheduler,https://github.com/ltsopensource/light-task-scheduler

 

一、是什么

分布式动态调度的框架

二、为什么

1、周期性、定时性的任务可以使用调度器scheduler(每个任务一个线程,对于周期性任务非常浪费资源)

2、如果有非常多调度性任务需要处理,可以每台机器分别布置一套调度器,并且不同机器调度不同的任务。

3、2中每个机器进行调度很浪费(比如每1ms检查一次条件),不同的任务不能跨机器共享硬件,而且无法看到所有调度任务的整体的情况。

另一种方案是,一个master进行时间和条件的调度,到了执行条件再扔给具体的机器执行,这样很方便进行横向扩展,只要维护一套调度集群,就解决所有调度需求(分布式调度)

4、分布式调度引进的问题:某个正在执行的机器挂了怎么恢复?(故障转移)具体执行逻辑怎么封装和提交?怎么动态扩展容量?需要的机器永远故障怎么办?(Fail And Store)解决通信故障

 

三、主要组件

JobClient:提交任务(存档到mysql),一般是应用端的一部分,向jobtracker发消息

JobTracker;统一接收任务,进行条件的调度,条件满足时发给taskTracker

TaskTracker:真正干活的,运行应用本身的Runner

Admin:后台

Monitor:监控

 

所有东西加一起,构成一个cluster

四、内部实现

1、jobtracker核心逻辑

com.github.ltsopensource.jobtracker.support.JobPusher#send 

从appcontext的XXQueue里面取出task,用netty走网络分发给各个taskTracker执行(传递参数)

2、tasktracker:

com.github.ltsopensource.tasktracker.runner.RunnerPool#execute

JobRunnerDelegate

DefaultRunnerFactory----具体的runner实现

五、部署

一般 job task admin/monitor分离,通过配置一样的lts.tasktracker.cluster-name,构成一个集群。

六、启动顺序

jobTracker taskTracker(配runner类,设置lts.tasktracker.node-group) client(指定tasktracker) admin

不同功能需要启动不同的taskTracker实例

分享到:
评论

相关推荐

    light-task-scheduler-1.7.0.zip

    《light-task-scheduler-1.7.0:深入解析分布式定时任务系统》 在现代的互联网应用中,定时任务扮演着至关重要的角色,它能够帮助我们实现自动化处理、数据同步、周期性报告等功能。"light-task-scheduler"是这样一...

    light-task-scheduler, Distributed Scheduled Job Framework.zip

    《light-task-scheduler:分布式调度任务框架解析》 在当今的云计算和大数据时代,分布式系统已经成为企业级应用的主流架构。其中,分布式调度任务框架在处理大规模数据处理、任务执行和资源管理方面扮演着至关重要...

    light-task-scheduler-master.zip

    light-task-scheduler-master.zip

    light-task-scheduler:分布式计划作业框架

    LTS(light-task-scheduler)主要用于解决分布式任务调度问题,支持实时任务,定时任务和Cron任务。有更好的伸缩性,扩展性,健壮稳定性而被多家公司使用,同时也希望开源爱好者一起贡献。 --->底部有招人帖 项目...

    分布式任务调度框架 集合

    3. light-task-scheduler LTS是一个轻量级分布式任务调度框架。有三种角色, JobClient, JobTracker, TaskTracker。 4. uncode-schedule 基于zookeeper+spring task的分布式任务调度组件,非常小巧,无需任何修改就...

    light-task-scheduler.rar

    框架概况: LTS是一个轻量级分布式任务调度框架。有三种角色, JobClient, JobTracker, TaskTracker。各个节点都是无状态的,可以部署多个,来实现负载均衡,实现更大的负载量, 并且框架具有很好的容错能力。...

    lts-admin分布式作业调度

    **分布式作业调度系统详解——基于light-task-scheduler (LTS)** 在当今的云计算和大数据时代,分布式系统已经成为处理大规模任务的重要手段。其中,分布式作业调度是核心组件之一,它负责管理和协调分布在不同节点...

    LTS用户文档

    LTS用户文档 LTS(light-task-scheduler)主要用于解决分布式任务调度问题,支持实时任务,定时任务和Cron任务。有较好的伸缩性,扩展性,健壮稳定性而被多家公司使用,同时也希望开源爱好者一起贡献。

    distributed-task:用go语言编写的分布式任务调度框架. A framework of task execution in distributed system Written with go

    A light framework of task execution in distributed system Written with go 安装: go get github.com/foreversmart/distributed-task 更新: go get -u github.com/foreversmart/distributed-task 添加flag u ...

    分布式任务调度系统调研

    #### LTS(light-task-scheduler) **概述** LTS是一个轻量级的任务调度框架,用于解决分布式环境下的任务调度问题。其特点是具有良好的伸缩性、扩展性和健壮性,在多家公司中得到广泛应用。 **架构设计** LTS的...

    分布式任务调度

    #### 一、LTS(Light Task Scheduler)概述 **LTS**(轻量级任务调度器)是一款专为解决分布式环境下的任务调度问题而设计的框架。它支持多种类型的任务,如实时任务、定时任务以及Cron任务。其优秀的伸缩性、扩展...

    lts admin管理war

    LTS(Light Task Scheduler)是一个开源的任务调度系统,专注于简单易用、高可用、高性能。标题中的“lts admin管理war”指的是使用LTS的管理界面来管理任务调度。这个管理界面通常是以WAR(Web Application Archive...

    lts消息分布式源码

    Light Task Scheduler(LTS)是一款开源的任务调度框架,它以其高效、稳定、易用的特点,被广泛应用于各种业务场景,如定时任务、实时任务等。本文将深入探讨LTS消息分布式源码,帮助读者理解其内部机制,从而更好地...

    mtk常语缩写,对看代码有帮助.txt

    #### ADCSched.: Analog to Digital Converter Scheduler - **含义**:模数转换器调度器,管理ADC资源的分配和使用。 - **功能**:确保多个任务共享ADC资源时的有序性和效率。 - **应用场景**:需要高精度数据采集的...

Global site tag (gtag.js) - Google Analytics