LTS 轻量级分布式任务调度框架
项目基础介绍和主要编程语言
LTS(Light Task Scheduler)是一个轻量级的分布式任务调度框架,主要用于解决分布式环境下的任务调度问题。该项目使用Java作为主要的编程语言,适合在Java环境中进行开发和部署。LTS支持多种任务类型,包括实时任务、定时任务和Cron任务,具有良好的伸缩性、扩展性和健壮稳定性,被多家公司广泛使用。
项目核心功能
LTS框架的核心功能包括:
- 任务调度:支持实时任务、定时任务和Cron任务的调度。
- 节点管理:JobClient、JobTracker和TaskTracker节点都是无状态的,可以部署多个节点实现负载均衡。
- 容错机制:采用FailStore策略,确保在远程通信不稳定时,任务仍能正常执行。
- 注册中心:支持多种注册中心(如Zookeeper、redis等)进行节点信息暴露和master选举。
- 任务存储:使用Mongo或Mysql存储任务队列和任务执行日志。
- 通信协议:底层通信使用netty或mina,并支持多种序列化方式(如fastjson、hessian2、java等)。
项目最近更新的功能
LTS项目最近的更新主要包含以下功能:
- 优化JobContext中的BizLogger:去掉了threadlocal,解决了TaskTracker多线程的问题。
- 去掉LtsLoggerFactory的getLogger()用法:简化了日志记录的方式。
- LTS-Admin新版界面预览:提供了由ztajy提供的简易认证功能,用户名密码在auth.cfg中配置。
- Spring支持:LTS提供了对Spring框架的支持,包括Xml和注解方式,引入lts-spring.jar即可。
- 业务日志记录器:在TaskTracker端提供了业务日志记录器,供应用程序使用,可以将业务日志提交到JobTracker。
- SPI扩展支持:开放了多个扩展接口,如任务队列的扩展、业务日志记录器的扩展等,用户可以通过SPI扩展实现零侵入。
- 故障转移:当TaskTracker宕机后,JobTracker会立即将任务重新分配给其他正常的TaskTracker节点执行。
- 节点监控:可以对JobTracker和TaskTracker节点进行资源监控和任务监控,实时查看节点状态。
- 多样化任务执行结果支持:支持多种执行结果(如EXECUTE_SUCCESS、EXECUTE_FAILED、EXECUTE_LATER、EXECUTE_EXCEPTION),并采取相应的处理机制。
- FailStore容错:采用FailStore机制进行节点容错,确保远程通信的不稳定性不会影响应用的运行。
LTS项目持续更新,致力于提供更加稳定和高效的分布式任务调度解决方案。欢迎开源爱好者一起贡献,共同完善项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考