后端架构师必知必会系列:分布式任务调度与定时任务

发布于:2023-09-27 ⋅ 阅读:(90) ⋅ 点赞:(0)

作者:禅与计算机程序设计艺术

1.简介

一、引言

随着互联网企业快速发展,网站流量呈爆炸式增长。无论是购物网站、社交网络、新闻门户网站等,都发现用户数量越来越多,在短时间内产生大量访问请求。如何在保证网站高可用性、系统稳定性的前提下处理这么多的访问请求,成为了需要解决的问题。针对此类问题,出现了基于分布式架构设计的一套解决方案——分片集群(sharding cluster)。本文将以MySQL数据库为例,介绍一下MySQL实现分布式任务调度与定时任务的相关知识。

二、什么是分布式任务调度与定时任务?

分布式任务调度与定时任务概述

  1. 分布式任务调度与定时任务:指在分布式环境中对任务进行自动化调度,并按照指定时间或触发事件自动执行。最主要的用途包括数据备份、日志清理、邮件发送、文件处理、系统监控、应用升级等。

  2. 特点:

    • 弹性扩展:通过集群形式自动扩容和缩容,能够轻松应对突发情况;
    • 弹性调度:支持根据服务器性能、负载、运行状态等自动调整任务调度策略;
    • 可靠性:任务调度服务具备高可用性,可保证任务不丢失;
    • 数据一致性:分布式环境下,任务调度需要保证数据一致性,确保任务准时执行。
  3. 分布式环境下一般使用的两种任务调度框架:

    • 分布式消息队列框架:如RabbitMQ、Kafka等。
    • 时钟服务框架:如基于Quartz的调度服务框架。

网站公告

今日签到

点亮在社区的每一天
去签到