- 最常见的执行时间表格式是所谓的“crontab”格式,这个格式支持使用简单的周期定义(例如,“每天中午执行一次”、“每小时整点的时候执行”)。也可以通过这种格式进行复杂的周期定义,例如,“仅仅在每月第30天,且当天为周六的时候执行”。
- 一个可靠的大型分布式Cron系统所必须要解决的问题
- 跟踪Cron任务的状态,有两个选项:
- 将数据存储在一个可用度很高的外部分布式存储上。
- 系统内部自行存储一些(很小量的)状态信息。
- Paxos协议的使用
- 保证副本状态的一致
- 单独的领头人任务,该副本是唯一一个可以修改共享状态的副本,也是唯一一个可以启动Cron任务的副本
- 领头人角色和追随者角色
- 保存状态,Paxos基本上是一个只能新增的日志,在每次状态变化后同步地新增。Paxos协议的这种特性意味着以下两个问题:
- 日志需要定期压缩,以防无限增长。
- 日志必须要存储在某个地方。
存储数据有两个方案:
- 外部可用的分布式存储。
- 在系统内部存储少量的数据。
- 运维大型Cron系统:惊群效应(thundering herd)
- 跟踪Cron任务的状态,有两个选项:
读书笔记(SRE:Google运维解密):第24章 分布式周期性任务系统
最新推荐文章于 2025-05-11 18:48:30 发布
本文探讨了大型分布式Cron系统中常见的执行时间表格式——crontab,以及系统必须解决的任务状态跟踪问题。通过Paxos协议确保副本状态一致,采用领头人和追随者角色来协调任务执行。同时,提出了日志管理和防止惊群效应等运维挑战。
1102

被折叠的 条评论
为什么被折叠?



