中间件核心技术与实战
丁威
中通快递资深架构师,RocketMQ 社区首席布道师
19674 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 33 讲
中间件核心技术与实战
15
15
1.0x
00:00/00:00
登录|注册

20|技术选型:分布式定时调度框架的功能和未来

你好,我是丁威。
从这节课开始,我们将进入一个新的模块:定时调度中间件。
定时调度在业务开发领域的应用非常普遍,它通常会出现在数据清洗、批处理等应用场景中。我们这一模块总共分为三讲,首先,我们要来了解一下分布式定时调度框架的设计目标和未来,然后我会重点介绍一种基于 ZooKeeper 配置中心的编程模型,最后,我们会以一个实际场景串起分布式调度框架的要点。
定时调度框架要解决什么问题?市面上有哪些优秀的定时调度框架?定时调度未来的发展趋势又是什么?这节课我们就来聊聊这些问题。

定时调度功能需求

在大部分交易类场景下,比方说购物网站或者购票系统中,都会有一个特殊的业务规则:如果用户下单后超过指定时间未支付,平台将自动取消该订单。

定时延迟触发机制

要想实现这个功能,第一个必须具备的就是定时延迟触发机制。目前在定时调度领域,触发器都是基于 cron 表达式来定义的。cron 表达式支持按日历的概念来定义定时语义。例如,每周五上午 10 点,每个工作日上午 10 点等。我们这节课不会详细介绍怎么编写 cron 表达式,因为现在很多网站都支持快速生成 cron 表达式。如果有需要,你可以看看这个网站
一旦解决了定时任务的触发问题,要在用户没有支付时及时取消订单、释放库存的需求就变得比较简单了。我们只需要编写对应的订单超时逻辑,然后触发器就可以根据定义的 cron 表达式在指定的时间点调用业务执行器,完成业务逻辑。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了分布式定时调度框架在业务开发中的广泛应用,并从定时调度功能需求、定时调度框架发展与选型两个方面进行了详细介绍。首先,文章介绍了定时调度功能需求,包括定时延迟触发、任务可视化管理、数据分片、错过执行任务重触发等。随后,对市面上主流的分布式调度框架进行了介绍,重点分析了Quartz、XXL-JOB和ElasticJob的特点和优劣势。文章还分享了自研思路,吸收了XXL-JOB的“调度”和“任务”执行解耦合的思路,同时参考了ElasticJob的数据分片、分布式调度、任务容错机制等特点。最后,文章提出了课后题,鼓励读者深入研读ElasticJob源码,以加深对分布式调度框架的理解。整体而言,本文内容详实,逻辑清晰,对于想要了解分布式定时调度框架的读者具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《中间件核心技术与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • 酱紫的小白兔
    最近好多 powerjob 的宣传造势文章,拿 xxljob 作为垫脚石,老师觉得 powerjob 如何?
    2022-12-08归属地:广东
    1
  • a、
    老师,你好,我想问下,xxljob如何做蓝绿发布?
    2022-11-14归属地:广东
    1
    1
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部