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

tbschedule3.3.3源码详解

 
阅读更多

tbschedule是出自淘宝的一个分布式任务调度框架,经过了众多大型项目的考验。了解及使用可参考官方文档http://code.taobao.org/p/tbschedule/wiki/index/

tbschedule的数据结构


tbschedule在zookeeper中的数据结构及与类的对应关系

下面从tbschedule的初始化流程入手,一步步分析tbschedule的实现。

tbschedule的初始化流程——详解

1.入口TBScheduleManagerFactory


spring的TBScheduleManagerFactory配置

2.TBScheduleManagerFactory执行流程


TBScheduleManagerFactory执行流程

说明:

1)、TBScheduleManagerFactory的init方法,创建了ZKManager和InitialThread;ZKManager主要管理和zk的连接和根目录的创建,InitialThread继承了Thread,接下来的初始化流程就有InitialThread线程完成,init方法结束。

2)、InitialThread线程调用TBScheduleManagerFactory的initialData方法完成初始化,InitialThread线程结束。initialData方法中

(1),调用zkManager.initial()创建跟路径

(2),new ScheduleDataManager4ZK(this.zkManager)

(3),new ScheduleStrategyDataManager4ZK(this.zkManager)

(4),注册调度管理器scheduleStrategyManager.registerManagerFactory(this)

(5),new ManagerFactoryTimerTask(this)并调度

ScheduleDataManager4ZK主要负责RootPath/baseTaskType路径下节点和数据的维护

ScheduleStrategyDataManager4ZK负责RootPath/strategyRootPath/factory路径下节点的维护

registerManagerFactory方法主要是创建this.PATH_ManagerFactory/IP$HOSTNAME$uuid$sqe-numthis.PATH_Strategy/StrategyName/IP$HOSTNAME$uuid$sqe-num,即机器的数量和能处理此策略的机器数量

ManagerFactoryTimerTask的功能是定时的刷新任务调度器的数据,计算每台机器需要的线程组数,并启动相应数量的线程组(TBScheduleManagerStatic)

3)、ManagerFactoryTimerTask调用TBScheduleManagerFactory的refresh方法,refresh中调用reRegisterManagerFactory,reRegisterManagerFactory方法的主要流程是调用registerManagerFactory,assignScheduleServer和reRunScheduleServer方法。ManagerFactoryTimerTask一个运行周期结束。

分享到:
评论

相关推荐

    FFmpeg 3.3.3 源码

    FFmpeg 3.3.3 版本源码 2017年8月20日发布 20170820-8754ccd

    zxing最新版本3.3.3源码

    最新版本3.3.3的源码包含了对二维码扫描的增强和优化,为开发者提供了更稳定、高效的二维码处理功能。 一、ZXing的主要功能模块: 1. **二维码/条形码扫描**:ZXing支持多种条码和二维码格式,如QR Code、Code 128...

    微聚云科牛气霸屏v3.3.3源码

    微聚云科牛气霸屏v3.3.3源码是针对H5技术的一款软件开发资源,主要用于创建具有强烈视觉冲击力和广泛传播效果的网页应用。在深入理解这个项目之前,我们需要先了解一下H5的基本概念。 H5,全称HTML5,是超文本标记...

    cas-client-core-3.3.3

    `cas-client-core-3.3.3` 是一个CAS客户端的核心库,它使得应用程序能够与CAS服务器进行交互,实现用户的认证和授权功能。 1. **CAS协议原理**: CAS协议通过代理票据(Proxy Ticket)和服务票据(Service Ticket...

    静态编译的linux下ffmpeg-3.3.3版本及SDK库

    附件为Centos6.6环境下静态编译的ffmpeg-3.3.3版本linux可执行程序和SDK库,其中包含基本的x264、aac编解码库;还增加字幕渲染(drawtext参数)、水印叠加等功能;configure配置参数为: ./configure --target-os=...

    Hudson持续集成工具 v3.3.3-源码.zip

    《Hudson持续集成工具v3.3.3源码解析》 Hudson,作为一个开源的持续集成工具,自诞生以来就备受开发者们的喜爱。它的主要功能是自动化构建、测试和部署软件,帮助团队提高开发效率,减少错误,确保软件质量。在本篇...

    maven3.3.3以及源码包

    压缩包中的 "apache-maven-3.3.3-src.zip" 文件包含了 Maven 3.3.3 的源代码,对于开发者来说,这是一个深入了解 Maven 内部实现的好资源。通过阅读源码,可以学习 Maven 如何处理 POM 解析、依赖管理、插件执行等...

    Hadoop下载 hadoop-3.3.3.tar.gz

    摘要 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。...

    zxing core-3.3.3.jar core-3.3.3-javadoc.jar core-3.3.3-sources.jar

    标签中的"core-3.3.3.j"、"core-3.3.3-j"和"core-3.3.3-s"可能是对核心库不同部分的简写,分别对应核心库的主JAR、API文档JAR和源代码JAR。 在压缩包的文件列表中提到的"lib"目录,通常存放的是项目依赖的库文件。...

    zookeeper-3.3.3-API文档-中文版.zip

    赠送jar包:zookeeper-3.3.3.jar; 赠送原API文档:zookeeper-3.3.3-javadoc.jar; 赠送源代码:zookeeper-3.3.3-sources.jar; 包含翻译后的API文档:zookeeper-3.3.3-javadoc-API文档-中文(简体)版.zip 对应...

    apache-maven-3.3.3

    在"Maven 3.3.3"这个版本中,我们看到了以下关键知识点: 1. **POM**:POM是Maven的核心概念,它是项目配置的中心文件,包含了项目的基本信息,如项目名称、版本、开发者信息、依赖库等。POM通过继承、聚合和依赖...

    maven3.3.3

    ** Maven 3.3.3 知识点详解 ** Maven 是一个强大的构建工具,主要应用于Java项目,由Apache Software Foundation开发并维护。它的全名是Apache Maven,其核心概念是项目对象模型(Project Object Model,简称POM)...

    随心搜3.3.3.rar

    随心搜3.3.3是一款强大的搜索工具,它的出现为用户提供了便捷的全网资源检索体验。在当今信息爆炸的时代,快速、准确地找到所需信息成为了一项基本需求,而这款软件恰好满足了这样的需求。 首先,让我们来了解一下...

    EasyExcel JAVA解析Excel工具 v3.3.3.zip

    《EasyExcel:JAVA解析Excel工具详解》 在Java开发中,处理Excel数据是一项常见的任务,例如数据导入导出、报表生成等。EasyExcel是阿里巴巴开源的一款高效、易用的Java库,专门用于处理Excel文件,它以其轻量级、...

    core-3.3.3 + javase-3.3.3+ zxing-1.7-core + zxing-j2se-1.7

    核心知识点详解: 本文将深入探讨在给定的压缩包中涉及的几个关键组件:`core-3.3.3`, `javase-3.3.3`, `zxing-1.7-core` 和 `zxing-j2se-1.7`,以及与之相关的JDK版本,包括JDK1.7和JDK1.8。这些组件主要用于...

    core-3.3.3-API文档-中文版.zip

    赠送jar包:core-3.3.3.jar; 赠送原API文档:core-3.3.3-javadoc.jar; 赠送源代码:core-3.3.3-sources.jar; 赠送Maven依赖信息文件:core-3.3.3.pom; 包含翻译后的API文档:core-3.3.3-javadoc-API文档-中文...

    RichFaces_3.3.3标签库手册

    RichFaces_3.3.3_TLD.chm

    cas-server-3.3.3-release.zip

    《CAS服务器3.3.3版本详解》 CAS(Central Authentication Service)是一种广泛使用的开源单点登录(Single Sign-On, SSO)协议,它旨在简化Web应用的安全认证过程。"cas-server-3.3.3-release.zip"是CAS服务器的一...

    eigen3.3.3版本安装包

    Eigen3.3.3是该库的一个稳定版本,提供了许多改进和新特性。 Eigen库的核心特性包括: 1. **类型模板**: Eigen使用C++模板机制,可以方便地处理各种数据类型,如float、double、int以及自定义数据结构。这使得它...

    zxing.java源码解析-AndroidBasicStudy:对com.google.zxing3.3.3二次封装,形成jar包,可自定义

    zxing.java源码解析 AndroidBasic Study Qrcode封装 对com.google.zxing:core:3.3.3二次封装,形成jar包,可自定义view,可控制解码算法等。 IoC思想实现的简易ViewBinder 利用注解,反射实现布局的注入、控件注入、...

Global site tag (gtag.js) - Google Analytics