浅谈分布式任务调度平台

背景

分布式场景下,我们会对每个独立出来的服务进行集群,来提升服务的可用性,但集群环境下就会出现当前服务模块的定时任务重复进行的情况。

那么解决方案实际上有多种:

1.将定时任务提取出来,存放在后台管理系统
2.将定时任务单独部署成一个服务
3.将不同的服务部署不同的定时任务服务,用任务调度中心将其进行整合管理,也就是本文所说的分布式任务调度平台

原理

如图:
在分布式任务调度中心中(这里以XXL-JOB的架构图为例),分为两部分。

1.任务调度中心:即任务中心管理系统,处理所有的任务分发,执行器管理,日志分析处理等
2.执行器注册中心:管理所有微服务模块的定时任务注册

其次是定时任务模块,这里统称为执行器,每个执行器都会注册,原理类似于注册中心。


任务调度现架构图

如此架构图部署进行数据交互后,我们只需要在任务调度平台配置对应所需要执行的任务,点击启动,可以配置对应的负载均衡策略轮询到需要运行的执行器上。确保无重复运行。并能在大数据量下进行分片与动态扩容与收缩。

数据分片

产生于任务调度平台与大数量的背景下,如实际场景中:

小李需要对公司的100万用户进行双十一秒杀活动数据推送,虽然部署了多台服务集群,但是为了避免重复进行任务,便使用单台数据节点运行定时任务,运行非常缓慢,第一个用户和最后一个用户的时间差有非常大的差异。导致用户不满。活动达不到理想效果,小李也被领导一顿吊。

那么如何通过任务调度平台去处理这个问题呢?
在任务调度平台中有个数据分片的概念,根据平台注册的执行器下标(index),根据其可将分为多个数据片段。

小李经过上一次的秒杀活动推送后,下定决心要优化推送,他决定使用分布式任务调度平台,开启十台服务,并且通过index下标将百万数据分片,配置每台服务器按各自的下标获取到10万的数据。配如下标为1的服务器获取第1条-10万条,下标为2的服务器获取第10万-20万条。以此类推。从而将此次的速度提升了十倍,用户体验度顿时好了许多。领导还请了小李喝可乐。

动态扩容与收缩

那么现在的场景又改变了,用户暴增到一千万,原有的十台服务器又慢了,领导一声令下叫回来周末度假的小李,令其将活动推送优化。

小李不慌不忙的直接启动了九十台服务器集群,因为数据分片原理是根据index下标,我们只需要提前定义好每台服务器获取多少数据,即可由此进行动态的扩容。由此,每台服务器又变成了各自领取十万数据进行推送。

数据量突然减少怎么办呢?

非双十一的情况下,用户的剁手欲望急剧下降,对服务器的需求远远不需要原有的一百台,领导希望小李能够腾出服务器资源提供别的项目使用。小李直接关闭了九十台服务器,由注册中心实时进行了收缩,由此,腾出了服务器资源。

优化

我们仔细看会发现,在单台服务器拿到十万数据进行处理时,仍然会出现第一个用户和最后一个用户收到消息的时间差,这时我们可以采用多线程方式进行任务跑批,提升程序运行数据,当然无论是多线程还是数据分片,我们都要通过日志记录分析确保每个用户收到了活动信息,如果发送失败则对其进行相应的补偿。不然就等着领导请喝茶吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353