青训营课程笔记
这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天,今天主要学习了分布式、定时任务以及分布式实现和业务应用。
春节集卡
需要具备自动化+定时执行的基本能力,同时要考虑到其需要容纳海量的数据并且具备高效性和稳定性。
发展
从Windows批处理到Windows任务计划程序都在讲述着自动化带来的便利,到后来linux端进行定时清理机器日志,转战到多系统,直到后面Java、go都出现了可以进行定时任务的程序编写让自动化走进越来越多人的生活。
而分布式定时任务可以理解为把一堆定时任务扔到一个系统里面,进行整体管理和部署的管理方式。
对比
分布式定时任务针对单机定时任务来说,最大区别就是分布式定时可以支撑更大的业务体量。并且伸缩性、稳定性更高。同时分布式定时对比大数据处理也有优势,分布式可以解决更多大数据无法处理的核心问题,同时还可以调用http和rpc。
实现原理
核心架构:触发、调度、执行三个问题,此为核心架构。 包含:1.数据流:涉及到创建和执行,创建时候要考虑清楚触发得机制和任务之间是否关联怎么关联。 2.功能框架
控制台:包含job、jobinstance、jobresult、jobhistory的一个盒子
触发器:给定系列任务、解析触发规则,规定时间点出发任务调度。
调度器:资源来源、调度、任务执行。
执行器:注册、调度、回调、心跳检测。
业务运用
涉及到关于定时、延时、周期都可以考虑分布式定时任务,缺点几乎没有,优点不但快而且稳定!还可控性高!