saturn学习笔记1——相关目录
saturn是唯品会开源的一款分布式任务调度框架,实现原理和Elastic Job相似,但在此基础上进行了很多增强,在操作、功能、性能上更优秀。
关键术语
术语 | 定义 |
---|---|
作业(Job) | 作业(Job)是可以独立运行的脚本(shell作业)或者具备某项功能的函数实现(java、消息作业) |
作业分片 | 作业可并发执行在多个执行结点(Executor)上,作业分片定义了作业并发执行的数量以及执行编号。比如作业分片为2,则表示作业最多可以并发执行在2个执行结点上,执行编号为0和1。 |
执行结点(Executor) | 调用并执行作业的程序。通过定时(quartz)或者消息驱动来触发调用事件,执行结点只会处理指派给它的作业分片。 |
作业分片调度 | 作业分片调度指将作业分片指派给执行结点。比如A作业有5个分片(分片0,1,2,3,4),一共有两个执行结点E1和E2,将0,1,2指派给E1;3,4指派给E2。 |
控制台(Console) | 统一配置界面,可以使用控制台来查看作业状态,执行结点状态和执行日志,添加、删除作业,修改作业属性。 |
域 | 域(Namespace)代表一组特定的执行结点和作业。作业必须而且只能属于某一个特定的域。一个域下通常有若干个执行结点(每个执行结点都运行在不同的独立的机器上),通过启动参数指定执行结点的-namespace将执行结点加入到某个域。执行结点必须而且只能属于某一个特定的域。域下的全部执行结点功能是对等的,域下的任何一下执行结点均有能力执行域下的全部作业,换言之,作业可以在域下任何一个执行结点执行。 |
整体架构
Saturn主要由两大部分组成:控制台(Saturn Console)和执行结点(Saturn Executor), 在executor与console启动时,会监听zk的各个相应的节点,当节点数据变化时(主要是通过console对作业进行增删改操作),执行相应的操作
模 |
---|