ITPub博客

首页 > 数据库 > 数据库开发技术 > 分布式任务调度总结

分布式任务调度总结

数据库开发技术 作者:服务端猎手 时间:2021-11-19 08:57:12 0 删除 编辑

                            分布式任务调度总结
    1.1什么是任务调度                            
        任务调度是指系统为了自动完成特定任务,在约定的特定时刻去执行任务的过程。
        有了任务调度即可解放更多的人力由系统自动去执行任务**。    
    1.2什么是分布式任务调度
         什么是分布式?     
            当前软件的架构正在逐步转变为分布式架构,将单体结构分为若干服务,服务之间通过网络交互来完成用户的业务处理,            
        分布式系统具体如下基本特点        
        1、分布性:每个部分都可以独立部署,服务之间交互通过网络进行通信,比如:订单服务、商品服务。
        2、伸缩性:每个部分都可以集群方式部署,并可针对部分结点进行硬件及软件扩容,具有一定的伸缩能力。
        3、高可用:每个部分都可以集群部署,保证高可用。
        分布式调度要实现的目标
            1、并行任务调度:
              并行任务调度实现靠多线程,如果有大量任务需要调度,此时光靠多线程就会有瓶颈了,因为一台计算机CPU的处理能力是有限的。
            如果将任务调度程序分布式部署,每个结点还可以部署为集群,这样就可以让多台计算机共同去完成任务调度,我们可以将任务分割为若干个分片,由不同的实例并行执行,来提高任务调度的处理效率。
            2、高可用
                 若某一个实例宕机,不影响其他实例来执行任务。
            3、弹性扩容
                当集群中增加实例就可以提高并执行任务的处理效率。
            4、任务管理与监测 
                  对系统中存在的所有定时任务进行统一的管理及监测。让开发人员及运维人员能够时刻了解任务执行情况,从而做出快速的应急处理响应。
            5、避免任务重复执行
                  当任务调度以集群方式部署,同一个任务调度可能会执行多次,比如在上面提到的电商系统中到点发优惠券的例子,就会发放多次优惠券,对公司造成很多损失,所以我们需要控制相同的任务在多个运行实例上只执行一次,考虑采用下边的方法:分布式锁:
                  分布式锁,多个实例在任务执行前首先需要获取锁,如果获取失败那么久证明有其他服务已经再运行,如果获取成功那么证明没有服务在运行定时任务,那么就可以执行
                

原文作者:白小猿909;如有侵权,请联系管理员删除。

下一篇: 分布式数据管理
请登录后发表评论 登录
全部评论

注册时间:2019-08-02

  • 博文量
    18
  • 访问量
    1543