SchedulerX 如何帮助用户解决分布式任务调度难题?

简介:本文分别对任务调度平台的资源定义、可视化管控能力、分布式批处理能力进行了简述,并基于 SchedulerX 的能力结合实际业务场景提供了一些基础参考案例。希望通过上述内容能让大家方便地熟悉任务调度平台接入使用概况,对于现有用户也可结合自身团队特点进行平台资源管控隔离,以及在产品业务量增长后通过分布式批处理能力来提升处理效率。

作者:千习

前言

在各类业务系统场景中,存在着大量定时触发、周期触发运行指定业务任务的需求场景,而分布式任务调度中间件平台存在的意义就是为管理支撑上述场景而存在。在 Linux 中的 crontab、Java 中的 Timer 等等都涉及周期性定时调度运行任务来完成一系列自动化处理的业务场景。

周期定时运行是任务调度最为基础的特性,但随着业务扩张和发展对于任务调度中间件平台的能力将会提出更高要求。在传统业务系统中 Quartz 以及 Spring scheduling 包以框架集成方式给业务开发定时任务提供了很多便利,但伴随各个业务应用分布式和微服务化部署后,大量分散的定时任务散部在各个业务应用系统之中很难对全局所有任务的统一可视化监控运维管理,分布式任务调度中间件平台将对各个定时任务进行有效地统一可视化管控。

分布式任务调度平台以高可靠的定时任务调度为核心基础,以可视化管控为核心价值体现,结合业务发展趋势围绕这两个基本要素进行平台能力拓展。

SchedulerX 概览

平台资源管理

站在全局面向所有业务应用统一运维管控视角,对团队和部署环境抽象了“空间”概念来进行资源管理隔离,对业务应用和机器集群进行了一层抽象称为“应用分组”。每一个业务应用可在调度平台上创建对应应用分组与其实际对业务应用程序进行对接,从而实现各个业务团队在统一的平台上互不干涉的分别管控各自业务团队的任务。并且在阿里云上基于 RAM 权限策略,可统一进行合理的资源权限管控隔离。

通过上述资源模型业务平台架构管理者可根据自身团队的组织特点,进行空间和应用的合理规划以及权限策略配置,清晰地实现任务调度资源的访问控制隔离和全局性管控。

平台可视化管控

任务是任务调度平台管控调度操作的基本单元,任务运行可视化使原本藏在各个业务应用中默默奔跑的任务得以重见天日,让每一个任务的运行状况和执行结果得以展现和提醒。在没有可视化的情况下,任务运行状态以及运行结果将无从知晓或者是很难被发觉,甚至于经过大量业务迭代发展之后,应用系统中存在多少定时任务都无法进行规范化管理。

分布式分片批处理

随着业务体量推进发展,在一些定时调度任务场景下会伴随着大数据量分布式批量处理需求。协调多个机器来定期完成大批量数据处理也成为了任务调度平台重要功能特性,通过分布式批处理模型,用户可简单地实现大批量数据处理效率提升。

简单运用场景

下面将基于任务调度平台,针对性地列举几个简单的业务使用场景,以初步了解在任务调度平台上都能做些什么事情。

基于广播集群运维场景

在广播模式下,创建的调度任务会以给定的周期频率将任务运行的指令下发给业务应用集群或安装了 Agent 的 ECS 集群,当新扩容加入的资源也会后随后动态广播到。基于该功能特性,用户可以架构出很多自定义的使用场景,例如:

  • 日志/临时数据定期清理:对业务产生的日志或临时文件进行定期清理。
  • 服务器检测:用户可通过广播shell脚本快速构建简单的服务器磁盘/内存/CPU 等健康检测场景。
  • 业务缓存刷新:对于存在本地缓存的业务场景,可定期进行缓存刷新以及指定的业务应用服务预热处理。
  • 业务服务检测:用户可自定义各种业务类型指标采集判断,基于调度平台灵活构建轻量级的业务监控。

定时业务场景

各行业业务场景中,在任务调度平台上进行定时任务处理,是最为广泛的业务形式,例如:

  • 定期发送消息提醒:缴款缴费提醒、积分到期提醒、客户员工生日祝福提醒、交易订单处理通知等等。
  • 定期数据同步处理:员工组织结构信息同步、业务基础信息同步、定时每天业务数据批量清算、交易订单超时处理等等。
  • 定期数据生成推送:月/季/年度报表生成推送、活动公告定期推送、消费账单定期生成推送等等。

当上述业务需处理的数据体量逐渐扩大后,原本单机处理模式下处理效率瓶颈会慢慢出现,此时任务调度的分布式集群批处理的能力将可以发挥集群协同能力来进行大批量的数据并行处理。

分布式批处理场景

基于业务批量处理能力,当实时业务量较大时用户可以配合服务降级策略构建业务定期批量补偿任务,来实现峰值业务处理能力提升,以确保业务高峰时期核心业务的吞吐能力。作为业务系统平台的架构设计者,如果能将定时分布式批处理能力与具体业务进行有效结合将充分发挥系统整体的业务处理能力和稳定性。下面对相关业务使用场景进行抽象总结阐述以供参考。

在常规场景下核心交易服务可能会通过 RPC/MQ 完成下游服务的调用处理。但这种模式下当业务量上涨时会产生一些问题,RPC 下游服务能力会影响核心服务吞吐能力,对 MQ 依赖时需要保证消息投递正常且消费端正确处理,这些都会成为核心服务处理能力提升的瓶颈。因此在业务接受范围内,采取业务服务间彻底解耦的定期批处理补偿的方式将大大提升处理效率,并且通过幂等性可重复执行将提升下游服务可靠性保障,同时结合分布式批处理模型可对数据进行批量加载、批量处理以降低 DB 交互压力。同时在架构设计上该补偿模式可与微服务服务降级配套整合使用。

快速接入 SchedulerX

创建应用分组

进入任务调度控制台后选择“公网”region,首先在“应用管理”->创建应用,该应用信息将会成为后续步骤中业务应用程序、Agent 与任务调度平台直接建立对接关系的核心元素。

SpringBoot 工程引入 SchedulerX

在本地构建的 SpringBoot 工程中添加如下依赖,并在 Properties 中添加对应控制台创建的应用分组配置信息,启动应用即可完成业务应用与任务调度平台关系建立。

<dependencies><dependency><groupId>com.aliyun.schedulerx</groupId><artifactId>schedulerx2-spring-boot-starter</artifactId><version>1.3.2</version></dependency>
</dependencies>
# 公有云公网环境
spring.schedulerx2.namespace=aad167f6-8bee-41a7-ba41-*********
spring.schedulerx2.endpoint=acm.aliyun.com
spring.schedulerx2.groupId=qianxi.text
spring.schedulerx2.appKey=lYgR6qq**********

其他说明

完成上述步骤后,可进行后续应用下具体业务定时任务创建和开发,后续使用详见官方手册,点击此处即可前往!

总结

本文分别对任务调度平台的资源定义、可视化管控能力、分布式批处理能力进行了简述,并基于 SchedulerX 的能力结合实际业务场景提供了一些基础参考案例。希望通过上述内容能让大家方便地熟悉任务调度平台接入使用概况,对于现有用户也可结合自身团队特点进行平台资源管控隔离,以及在产品业务量增长后通过分布式批处理能力来提升处理效率。

后续 SchedulerX 将继续提升可视化管控能力来服务企业级定时任务管理需要,并且平台管控和定时调度服务能力将会逐步兼容市面上常见开源组件客户端。我们也会结合实际场景,继续进行逐个剖析讲解,敬请期待。

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何做“健康码”的性能压测

简介&#xff1a;随着无线设备的普及和 5G 的大力建设&#xff0c;越来越多的线上系统、小程序成为了人们生活中必不可少的工具。对于这些工具&#xff0c;都会面对一个问题&#xff1a;系统能承受多少用户同时访问&#xff0c;面对突发的流量洪峰&#xff0c;能否保证系统无故…

对话 MySQL 之父:一个优秀程序员可抵5个普通程序员

【CSDN 编者按】MySQL之父Monty有着四十多年的编程经验&#xff0c;从儿时的兴趣到长大后的深耕&#xff0c;他在编程领域不断钻研&#xff0c;最终成为编程大师。《新程序员004》带你走进Monty的程序人生&#xff0c;谈谈他在编程方面的最新感悟以及对未来的预测。作者 | 郭露…

服务网格 ASM 年终总结:最终用户如何使用服务网格?

简介&#xff1a;本文不打算回顾 Istio 或是阿里云服务网格 ASM 的变化或趋势&#xff0c;我们来聊一聊阿里云 ASM 服务网格&#xff0c;它的最终用户是如何使用服务网格的。 作者&#xff1a;叶剑宏 背景 阿里云服务网格 ASM 于 2020 年 2 月公测&#xff0c;近 2 年的时间…

使用 nginx 轻松管理 kubernetes 资源文件

作者 | 江小南来源 | 江小南和他的小伙伴们引言nginx在传统的使用中&#xff0c;一般是作为反向代理或者负载均衡。但是它还有一个很优秀的能力常被人们所忽略。在kubernetes部署应用的过程中&#xff0c;会有大量的yaml等资源需要维护。集群内部维护起来不太方便&#xff0c;特…

Dubbo-go 优雅上下线设计与实践

简介&#xff1a;在分布式场景下&#xff0c;微服务进程都是以容器的形式存在&#xff0c;在容器调度系统例如 k8s 的支持下运行&#xff0c;容器组 Pod 是 K8S 的最小资源单位。随着服务的迭代和更新&#xff0c;当新版本上线后&#xff0c;需要针对线上正在运行的服务进行替换…

华为鸿蒙网络,这回真翻脸了?被谷歌“除名”,官宣鸿蒙手机版,华为:走着瞧...

与电脑系统类似&#xff0c;手机操作系统如今也已经被安卓和苹果的iOS瓜分殆尽&#xff0c;根据数据&#xff0c;安卓和iOS已经占据了手机操作系统99%以上的市场份额。不过由于iOS是苹果自研的封闭系统&#xff0c;所以在智能手机这么多年发展下来&#xff0c;也就自然地形成了…

SaaS服务的私有化部署,这样做最高效|云效工程师指北

简介&#xff1a;为了能够有效且高效地同时管理SaaS版本和私有化版本的发布过程&#xff0c;云效团队也结合云原生的基础设施和标准化工具&#xff08;比如helm&#xff09;进行了一系列的探索和实践&#xff0c;并将其中一些通能的能力进行了产品化。本文从问题本身出发&#…

阿里 BladeDISC 深度学习编译器正式开源

简介&#xff1a;随着深度学习的不断发展&#xff0c;AI模型结构在快速演化&#xff0c;底层计算硬件技术更是层出不穷&#xff0c;对于广大开发者来说不仅要考虑如何在复杂多变的场景下有效的将算力发挥出来&#xff0c;还要应对计算框架的持续迭代。深度编译器就成了应对以上…

浪潮“源”AI大模型如何求解数学应用题

编辑 | 宋慧 供稿 | 浪潮 “源1.0”大模型是浪潮信息发布的中文巨量模型&#xff0c;参数量高达2457亿&#xff0c;在中文语言能力理解和生成评测基准CUGE总榜中取得榜首&#xff0c;并获得语言理解&#xff08;篇章级&#xff09;、语言生成、对话交互、多语言、数学推理等5…

Quick BI产品核心功能大图(五)移动端:让数据在更多业务场景中流通

简介&#xff1a;将数据更好的融入日常工作中&#xff0c;一个重要的前提条件就是多端多渠道的数据触达和办公协同能力。 Quick BI凭借移动端交互体验&#xff0c;帮助用户随时随地便捷查看报表&#xff0c;并通过在线协同方式&#xff0c;追踪策略的执行落地。让数据在企业中流…

html5点击切换选项卡,简单纯js实现点击切换TAB标签实例

一个不需要jQuery实现的tab选项卡切换效果&#xff0c;代码简洁易用。默认是鼠标悬停显示tab效果&#xff0c;可将其中的onmouseover 修改为 onclick 点击效果使用方法&#xff1a;1、将附件中的index.html中的css样式以及代码部分拷贝到你需要的地方即可相关链接&#xff1a;几…

Dataphin产品核心功能大图(六)发布中心:生产和开发隔离模式下的保护伞

简介&#xff1a;Dataphin&#xff0c;用中台方法论打造企业级好数据。Dataphin是阿里巴巴集团OneData数据治理方法论内部实践的云化输出&#xff0c;一站式提供数据采、建、管、用全生命周期的大数据能力&#xff0c;以助力企业显著提升数据治理水平&#xff0c;构建质量可靠、…

当英特尔 OpenVINO 遇上微软 Azure,AI在边云协同的新方案

作者 | 宋慧 出品 | CSDN云计算 数字化浪潮下&#xff0c;越来越多的终端 IoT 设备接入网络&#xff0c;边缘的数据量与分析需求也随之增加。根据 Eclipse 对边缘负载的分析显示&#xff0c;人工智能是边缘计算中占比最高的负载之一&#xff0c;高于控制逻辑、数据分析等负载所…

工程设计论——如何写好工程代码

简介&#xff1a;设计是在对需求的认知不完整的情况下&#xff0c;对被设计对象进行求解的一个过程。这就迫使我们需要一边认识被设计对象&#xff0c;一边进行求解。为了并行化地进行这一过程&#xff0c;也为了使得对被设计对象地认识有初步的研究工具和基础&#xff0c;我们…

阿里云能耗宝即将发布,助力中小企业绿色升级,参与碳中和万亿市场

阿里云能耗宝新品发布会由阿里云-企业云服务-能耗云团队主办&#xff0c;将于2022年2月23号举行&#xff0c;本期发布会将为企业呈现“双碳”背景下的一站式服务。通过阿里云能耗宝&#xff0c;企业如何更加高效便捷地核算碳排放量、制定节能降碳方案、规划碳中和路径。 2020年…

鸿蒙关键技术研究,鸿蒙内核源码分析(静态链接篇) | 完整小项目看透静态链接过程 | 百篇博客分析HarmonyOS源码 | v54.02...

百篇博客系列篇.本篇为:下图是一个可执行文件编译,链接的过程.本篇将通过一个完整的小工程来阐述ELF编译,链接过程,并分析.o和bin文件中各区,符号表之间的关系.从一个崭新的视角去看中间过程,阅读之前建议先看准备工作先得有个小工程,麻雀虽小,但五脏俱全,标准的文件夹和Makefi…

敏捷研发项目,我们该如何度量?

简介&#xff1a;作为项目负责人&#xff0c;我们如何及时获悉当前项目的最新进展和问题&#xff0c;了解项目的整体状况&#xff1f;作为项目管理人员&#xff0c;我们如何跟进和推进项目的正常进行&#xff1f;如何借助云效效能洞察平台 Insight&#xff0c;帮助项目管理者及…

iofsstat:帮你轻松定位 IO 突高,前因后果一目了然 | 龙蜥技术

简介&#xff1a;磁盘被打满到底是真实的业务需求量上来了呢&#xff1f;还是有什么野进程在占用 IO&#xff1f; iofsstat 帮你精准定位。 编者按&#xff1a;sysAK&#xff08;system analyse kit&#xff09;&#xff0c;是龙蜥社区系统运维 SIG 下面的一个开源项目&#x…

html视频标签不显示,HTML视频标签无法正确显示视频

这里是我的JS&#xff1a;function video() {navigator.device.capture.captureVideo(onSuccess, onFail,{limit: 1,duration: constants.MAX_DURATION_OF_VIDEO});function onSuccess(mediaFiles) {console.log("MEDIA FILE");console.log(mediaFiles);var i, path,…

晋中计算机专业对口大学,山西晋中计算机专业好就业吗?,计算机专业

【山西大众技工学校】将学生的日常管理、学习成绩、操行考核融为一体&#xff0c;结合校园全封闭管理形成一套完整的学生管理办法&#xff0c;做到每个环节都有标准与要求&#xff0c;每个过程都有管理和考核。山西晋中计算机专业好就业吗&#xff1f;另一种称为“编译”&#…