自从去年当当发布elastic-job以来,一直观注这个项目。不论是从代码质量,整体设计,可读性,还是代码出问题之后dump报告。
都给人一种很强的参与感,感觉这个项目很有活力。当然,这个项目是在当当内部经过验证的,听说是已经在线运行3W+上的JOB了。
目前,只是看了部分代码,可以从下面的几个类开始入手:
JobScheduler:作业调度器,简单说就是进行作业调度的管理容器。里面会管理作业的基本配置,注册,选举,分片,失效转移等核心逻辑实现
ListenerManager:监听管理,对作业的各种状态进行监听,包括选举,分片,失效,操作,配置变更等事件监听,触发相应的执行逻辑。
AbstractElasticJob:作业的基类,目前作业分为3种,简单类型,流式作业,流式顺序作业。
认真分析这几个类的关联类,相信会对这个项目有一个全面的认识。GITHUB地址: 当当弹性JOB
网友评论