立即咨询

电话咨询

微信咨询

立即试用
商务合作

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

2022-11-21

 

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

    任务调度系统的高可用性,“定时任务调度系统 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

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

 

 

更多产品了解

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

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

都在这里!

 

热门数字化产品

北森coreHR人力资源管理系统北森coreHR人力资源管理系统通过创新的一体化HR SaaS及人才管理平台 —— iTalentX,北森为中国企业提供人力资源管理场景中所有技术和产品,包括HR软件、人才管理技术、员工服务生态、低代码平台的端到端整体解决方案。帮助企业实现覆盖员工招募、入职、管理到离职的全生命周期的数字化管理,快速提升人力资源管理效率、人才管理能力、帮助员工成长,实现智慧决策。
的修物业工单管理系统“的修”平台,全面聚焦物业管理痛点,提供高效报事报修、人员外勤监管、物业数据分析等一站式解决方案。通过多渠道报修、智能巡检、流程进度管控、定点打卡、配件管理、失物招领、意见反馈、智识库、数据分析等功能,打造移动、便捷、高效的数字化管理服务,实现降本增效。
微加云学院企业培训平台微加云学院企业培训平台,多种培训模式,满足不同需求,培训更灵活,实时掌握学习进度,自动生成学习数据,帮管理者提升培训效果。提供高质量的培训课程,解决企业内部讲师少、课程研发能力弱的问题,将反复型培训流程化,提高效率,高性价比工具,降低培训成本。
酷学院企业培训SaaS平台酷学院多个基于AI技术的培训工具,有效降低培训运营传播,显著提升学习效果。基于对14大热点行业标杆企业的大数据分析,深入研究和实验,建立77个重点岗位职能的测评标准。依托AI技术, 精准提取视频、音频、语音等课件中的知识点, 转换成碎片化的知识内容,并对各个内容设置相应标签,形成系统化的知识图谱。
快麦ERP电商系统快麦ERP电商系统,多平台、多渠道、多店铺统一管理,支持销售订单、库存、售后订单等自动同步,实现仓库无纸化办公,仓库规划及工作流程梳理,员工绩效全方位统计,财务、报表多维度统计。
为你推荐
如何打造“千人千面”社交玩法?火山引擎人脸融合让营销更便捷

如何打造“千人千面”社交玩法?火山引擎人脸融合让营销更便捷

2025-01-15
数字化案例:云巴巴助力某投资管理公司高效办公——腾讯会议采购与实施

如何提升内部沟通效能、确保信息传递的及时性与准确性,同时实现成本的有效管控,成为该公司亟待解决的关键命题。

2025-01-15
如何解决等保测评的十大误区?收藏这一篇就够了

云巴巴将针对常见的十个误区进行解析,并提供相应的解决方案,帮助企业正确理解和实施等保测评。

2025-01-14
如何助力出海企业数据采集?火山引擎海外数据传输与存储助企业出海

火山引擎提供了创新性的解决方案,特别适用于希望拓展国际市场的中国企业。

2025-01-14
如何打造灵活多样的智能物流体验?蓝巨人让硬件设备更智能

如果不大规模地应用智能化设备,物流企业面临的不是能否走远,而是能否生存的大问题。

2025-01-13
查看更多