前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于任务调度的思考

关于任务调度的思考

作者头像
jeanron100
发布2018-07-26 15:40:13
7440
发布2018-07-26 15:40:13
举报
文章被收录于专栏:杨建荣的学习笔记

关于任务调度之前写了一篇很简单的文章 Django Celery初识

其实对于Celery来说,网络上的资源和文档其实还是比较匮乏的,能够坚持坐下来,能够维护起来这样一个项目,确实不易。

总体来说调度其实就是一个执行器,其中的一个核心就是scheduler,这部分的内容其实在别的编程语言中也有不同的实现和思路。在这里其实我主要想表达的就是我们对于调度的理解和依赖其实不用那么重度,或者调度的思想在其他方面也可以有一些借鉴,看了一圈的技术实现方案和思想,其实对于调度,Oracle数据库的调度就很牛了,不信可以参考下这篇文章。

结合EM快速解决复杂的配置问题(r4笔记第91天)

所以从这个角度来说,很多技术都是相通的,我们可以借鉴很多的产品思维。

很多同学其实对于任务和调度,日常的操作的区别和联系不是很清楚,我简单总结了下。

对于MySQL备份,这是一个基本业务操作,是一个流程化的操作,最终的目标之一就是通过满足的输入或者参数能够触发逻辑(脚本)完成业务操作。

目前的逻辑调用,可以是通过API的方式去调用,通过封装脚本来实现。

而对于任务来说,MySQL备份可以是这个任务的一个属性,可以对任务指定关联关系。

这个部分核心思想就是做到前后端分离,通过接口化来完成所有相关的操作。

前后端分离的流程设计

对于调度系统来说,是对上面任务的一个执行器,我们可以把任务的调用方式放在消息队列中(比如Redis)

所以任务调度的划分,可以严格来说划分为任务系统和调度系统。 任务系统可以和业务操作做关联映射,通过任务入口来在调度中按照指定的频率和时间来执行任务。

从平台来说,任务调度是一个通用模块。不光在MySQL备份中可以使用,安装部署,系统的批量处理任务等都可以使用。

调度模块的分片逻辑是调度系统的一个核心属性,如何合理的分片分组,这是需要通过业务维度来进行划分的,所以在目前的MySQL备份中,调度任务定制了调度算法,后续可以作为通用的一个实现。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档