读书笔记(SRE:Google运维解密):第24章 分布式周期性任务系统

本文探讨了大型分布式Cron系统中常见的执行时间表格式——crontab,以及系统必须解决的任务状态跟踪问题。通过Paxos协议确保副本状态一致,采用领头人和追随者角色来协调任务执行。同时,提出了日志管理和防止惊群效应等运维挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 最常见的执行时间表格式是所谓的“crontab”格式,这个格式支持使用简单的周期定义(例如,“每天中午执行一次”、“每小时整点的时候执行”)。也可以通过这种格式进行复杂的周期定义,例如,“仅仅在每月第30天,且当天为周六的时候执行”。
     
  • 一个可靠的大型分布式Cron系统所必须要解决的问题
    • 跟踪Cron任务的状态,有两个选项:
      • 将数据存储在一个可用度很高的外部分布式存储上。
      • 系统内部自行存储一些(很小量的)状态信息。
    • Paxos协议的使用
      • 保证副本状态的一致
      • 单独的领头人任务,该副本是唯一一个可以修改共享状态的副本,也是唯一一个可以启动Cron任务的副本
    • 领头人角色和追随者角色
    • 保存状态,Paxos基本上是一个只能新增的日志,在每次状态变化后同步地新增。Paxos协议的这种特性意味着以下两个问题:
      • 日志需要定期压缩,以防无限增长。
      • 日志必须要存储在某个地方。

        存储数据有两个方案:
        - 外部可用的分布式存储。
        - 在系统内部存储少量的数据。

    • 运维大型Cron系统:惊群效应(thundering herd)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值