20|技术选型:分布式定时调度框架的功能和未来
丁威
你好,我是丁威。
从这节课开始,我们将进入一个新的模块:定时调度中间件。
定时调度在业务开发领域的应用非常普遍,它通常会出现在数据清洗、批处理等应用场景中。我们这一模块总共分为三讲,首先,我们要来了解一下分布式定时调度框架的设计目标和未来,然后我会重点介绍一种基于 ZooKeeper 配置中心的编程模型,最后,我们会以一个实际场景串起分布式调度框架的要点。
定时调度框架要解决什么问题?市面上有哪些优秀的定时调度框架?定时调度未来的发展趋势又是什么?这节课我们就来聊聊这些问题。
定时调度功能需求
在大部分交易类场景下,比方说购物网站或者购票系统中,都会有一个特殊的业务规则:如果用户下单后超过指定时间未支付,平台将自动取消该订单。
定时延迟触发机制
要想实现这个功能,第一个必须具备的就是定时延迟触发机制。目前在定时调度领域,触发器都是基于 cron 表达式来定义的。cron 表达式支持按日历的概念来定义定时语义。例如,每周五上午 10 点,每个工作日上午 10 点等。我们这节课不会详细介绍怎么编写 cron 表达式,因为现在很多网站都支持快速生成 cron 表达式。如果有需要,你可以看看这个网站。
一旦解决了定时任务的触发问题,要在用户没有支付时及时取消订单、释放库存的需求就变得比较简单了。我们只需要编写对应的订单超时逻辑,然后触发器就可以根据定义的 cron 表达式在指定的时间点调用业务执行器,完成业务逻辑。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了分布式定时调度框架在业务开发中的广泛应用,并从定时调度功能需求、定时调度框架发展与选型两个方面进行了详细介绍。首先,文章介绍了定时调度功能需求,包括定时延迟触发、任务可视化管理、数据分片、错过执行任务重触发等。随后,对市面上主流的分布式调度框架进行了介绍,重点分析了Quartz、XXL-JOB和ElasticJob的特点和优劣势。文章还分享了自研思路,吸收了XXL-JOB的“调度”和“任务”执行解耦合的思路,同时参考了ElasticJob的数据分片、分布式调度、任务容错机制等特点。最后,文章提出了课后题,鼓励读者深入研读ElasticJob源码,以加深对分布式调度框架的理解。整体而言,本文内容详实,逻辑清晰,对于想要了解分布式定时调度框架的读者具有很高的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《中间件核心技术与实战》,新⼈⾸单¥59
《中间件核心技术与实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- 酱紫的小白兔最近好多 powerjob 的宣传造势文章,拿 xxljob 作为垫脚石,老师觉得 powerjob 如何?2022-12-08归属地:广东1
- a、老师,你好,我想问下,xxljob如何做蓝绿发布?2022-11-14归属地:广东11
收起评论