-
- Config 配置管理(加载服务必须配置)
- Executor 任务执行(执行一个任务)
- JobLock 分布式锁(etcd 授予租约机制,实现 分布式锁)
- JobMgr 任务管理(etcd watch 机制,监听 /cron/jobs/目录下的所有任务 revision 向后监听变化事件)
- LogSink 日志转存(channel + 定时器 定时 buffer,批量写入执行日志 至 MongoDB)
- Register 服务注册 (获取服务器网卡IP地址,并通过 租约机制,注册到目录:/cron/workers/{IP地址})
- Scheduler 任务调度 (任务事件channel + 任务调度计划表 + 任务执行表 + 任务执行结果channel,实现调度)
-
-
master 选主
- 抢占 etcd 乐观锁 /cron/master
- 抢到锁的成为 leader 并持续续租
-
任务超时控制
- web 增加任务超时配置项
- worker 支持超时检查
- 任务超时在日志中得到体现
-
任务失败告警
- etcd 写入每秒 1000次
- 任务失败告警,不适宜使用 etcd,使用消息队列
-