调度系统在设计时应该注意哪些方面

来源: 云巴巴 2022-11-21 14:37:44

 

    我们接着上篇文章的内容继续说,任务调度系统如何进行设计。

    任务调度系统的高可用性,“定时任务调度系统 2.0” 开发完成以后,仔细地想了一遍,似乎没有什么漏洞了,亲切地询问了加班加点设计和开发的情况,而面对系统最近用户越来越多,老板特别提出了高可用的需求,系统的各个组件也得达到高可用!”“高可用, 拿我的定时调度系统来说,就是说可以部署在多个机器上,一个down掉了,其他的还可以运行。

    如何去实现这一点呢,很简单啊,把定时调度系统部署到多个机器上,形成几个备份就行了,那同一个时刻,有多少个Scheduler 在运行。三个实例都在运行,那一个Job就有可能运行多次,这肯定是不行的,要不让三个实例A,B,C都去访问同一个数据库吧!那三个实例访问同一份数据,肯定会出现冲突,互相覆盖,那就乱套了,其实,实例A,实例B,实例C组成一个类似集群的东西,但是同一时刻,一个Job只能在一个实例上运行。

    比如Job X 从凌晨1点开始,每隔1小时运行一次。那1:00 的时候Job X可能在实例A上运行, 2:00的时候可能在实例B上运行, 3:00的时候可能在实例C上运行。也就是说,这三个实例部分地实现了负载均衡,这是个难办的问题,难道让这三个实例A,B,C之间互相通信?

    也就是说,这变成一个分布式系统下的通信问题了,我们要不用这个数据库做点文章, 反正这个数据库已经存了Job的信息,Trigger的信息,我们就多加一个表吧,就叫LOCKS,这个表里边每一行记录都可以当做一个‘锁’来用,表示不太明白吗?其实很简单,就是数据库的‘行’锁嘛, 比如SELECT * FROM LOCKS whereLOCK_NAME=TRIGGERFOR UPDATE ,这就把那一行记录给锁住了, 别的事务只能等待当前事务commit以后才能访问。

    还不明白吗,比如,服务器A的实例A在一个事务中先执行了上面SQL, 就把那一行给锁住了。当服务器B的实例B也去执行同样的SQL的时候, 只能等待,对吧? 这不就相当于实例A获得了锁吗,以后任何一个调度器实例想要获取Job的运行时间,设置Job的下一次运行时间的时候,都必须先获得这个锁,这样这些分布式的调度器就不会冲突了,只会运行一个特定时间的Job

    这样设计出的调度系统具有灵活的设计和扩展性,加上持久化,集群等强大的功能,还不快去试试。 

 

 

更多产品了解

欢迎扫码加入云巴巴企业数字化交流服务群

产品交流、问题咨询、专业测评

都在这里!

 

评论列表

为你推荐

腾讯会议的强大性,你真的了解吗

腾讯会议的强大性,你真的了解吗

还记得腾讯云发布了旗下云视频会议产品“腾讯会议”是2016年12月25日圣诞节当天。 腾讯会议是一款致力于提升跨企业、跨区域沟通和协作效率的产品。从根源帮助企业节省物力、人力、时间等成本,选择和运用腾讯会议,让企业只需花费一张机票钱,就可以省去全年跨地区

2022-11-22 16:35:51

何为Web应用防火墙?所有网站都需要部署吗?

何为Web应用防火墙?所有网站都需要部署吗?

Web安全事件给业务造成很多负面影响,很多大众型的网站都曾经遭受过攻击,对网站的安全性、稳定性以及用户隐私带来了巨大的危险。

2022-11-24 10:16:01

百度智能云物联网峰会:全面升级天工物联网平台

百度智能云物联网峰会:全面升级天工物联网平台

5月30日,在2019ABC INSPIRE智能物联网峰会上,百度智能云宣布其天工物联网平台全新升级,同时在边云融合、时空洞察和数据智能等三大领域一口气发布了9大新产品。

2019-09-17 12:09:01

【姚班、剑3团长、最强大脑】赵金昊入职追一科技给AI做“最强大脑

【姚班、剑3团长、最强大脑】赵金昊入职追一科技给AI做“最强大脑

赵金昊火了! 他,曾荣获第29届中国数学奥林匹克一等奖,后被保送到清华大学计算机科学实验班(姚期智班)。 他,是在剑三中叱诧风云的团长。 他,还是追一科技的语音算法工程师。 最近,他又在《最强大脑》节目中成为热议的“脑王”竞争者。

2022-11-21 14:15:04

虹膜识别在智能锁领域的发展

虹膜识别在智能锁领域的发展

虹膜锁是基于我们每个人的虹膜进行开发,和普通指纹锁不同的是这种锁有效的避免了我们在进行指纹锁需要指纹识别时难以识别成功的现象。相比指纹识别虹膜识别有着独特的优越性,在此之上研发出来的虹膜锁更是受到了大多数人的喜爱,将当今时尚的元素和安全进行完美的结合,眼神

2022-11-23 16:30:58

提高工作效率,光学字符识别(OCR)技术义不容辞

提高工作效率,光学字符识别(OCR)技术义不容辞

城市里上班族,是很需要像OCR这样的产品的。OCR可满足他们的许多工作需求,下面就来一起了解一下,OCR的具体都有哪些功能。 OCR的识别技巧 1.一般来说,图像扫描仪提供更多信息识别软件更容易获得认可的结果。虽然,OCR的分辨率设置是文本识别的重要前

2022-11-21 15:42:32

严选云产品

百应科技AICC智能外呼系统 百应科技AICC智能外呼系统,在电话渠道上,百应智能外呼帮助企业利用机器人与人进行沟通,替代部分人力,达到营销、通知、回访的目的。
腾讯智慧医疗数据中台 医疗数据中台是基于腾讯多年积累的大数据技术和产品能力,专门为医疗健康行业打造的一站式大数据处理平台。基于医疗数据处理产品化的思路,提供安全、可靠、低门槛的医疗大数据处理平台,满足不同医疗业务健康业务场景下的数据采集、治理、加工和应用需求。
医百科技100.Live全场景营销直播系统 医百科技100.Live全场景营销直播系统,基于医百科技自研视频会议RTC平台、云导播平台、直播平台为技术框架研发的直播应用服务,支持主播、嘉宾使用Web、客户端多端开播,观众端Web、H5互动观看。支持多端开播,直播流程简化,提高用户操作效率从而提升系统易用性。
云道智造多物理场仿真平台伏图Simdroid 云道智造多物理场仿真平台伏图Simdroid,支持全参数化自建模,支持STEP\IGES等通用格式CAD文件导入全参数化的2D、3D建模; 具备dxf、step、iges、inp、odb等文件接口;覆盖对标软件的多物理场耦合分析类型和方式,具备更加灵活的自主可控数据接口。
斑马Zebra ZD888热敏/热转印桌面打印机 ZD888热敏/热转印桌面打印机配有的热敏和热转印两种型号,运行可靠且价格实惠
道一云七巧低代码开发平台 道一云七巧低代码开发平台拥有简洁"拖拉拽”搭建表单模型,内置30+表单组件,支持外键、子表、多表关联等。1小时内完成30+张表结构建模,符合BPMN2.0规范,具备极高的扩展性,支持子流程、系统任务等复杂场景,可通过脚本 扩展流程能力,支持被业务建模调用和独立发布到流程中心。

甄选10000+数字化产品 为您免费使用

申请试用