分布式定时任务调度系统

2020-05-25  本文已影响0人  温不胜_kangle

在项目中使用定时任务去做数据分析、数据补偿、数据监测的场景很多,但是依赖公司的定时任务调度服务存在排队、拉取服务失败、启动容器超时等问题,定时任务成功率比较低,调研了下目前开源的定时任务调度框架如下:

一、分布式定时任务调度框架需要解决的问题

1、如何调度

问题:i、某个调度实例的创建、完成、异常中断对其他调度实例无影响

           ii、避免所有的调度任务都在一个节点上执行

方案:生产者消费者模式,执行节点消费调度任务

2、如何持久化

问题:i、持久化的定时任务能被所有执行节点获取

           ii、调度任务被实时的执行

方案:分布式数据库,且key是有序的:hbase;队列

3、如何保证任务状态一致性

问题:任务A执行一半失败,已删除数据,任务A重新执行

方案:分布式事务 --> 业务方保证数据的幂等

二、最佳实践

https://www.jianshu.com/p/77a87dd2d180 

上一篇下一篇

猜你喜欢

热点阅读