返回项目列表

Project Alpha

Go · Distributed Systems

一个高可用的分布式任务调度平台,支持弹性扩缩容、多租户隔离与故障自动恢复。已在生产环境稳定运行超过一年。

背景

在现代微服务架构中,定时任务和异步任务的调度是一个普遍需求。现有的开源方案在多租户隔离故障自动恢复方面存在不足。

架构设计

核心组件

  • Scheduler:负责任务的定时触发与分发
  • Worker:执行实际的任务逻辑,支持水平扩展
  • Manager:提供 Web 管理界面与 API
type Task struct {
    ID        string    `json:"id"`
    Name      string    `json:"name"`
    Schedule  string    `json:"schedule"`
    Command   string    `json:"command"`
    Timeout   int       `json:"timeout"`
    Retries   int       `json:"retries"`
}

容错设计

每个任务执行都包含完整的重试策略:

  1. 指数退避,最大重试 3 次
  2. 每次重试间隔翻倍
  3. 失败任务进入死信队列

技术亮点

  • 基于 Raft 共识算法 实现调度器高可用
  • Worker 支持动态扩缩容,基于任务队列深度自动调整
  • 全链路追踪集成,每个任务执行都有完整的 trace

生产表现

已在生产环境运行超过一年,日均调度任务量超过百万级,可用性达到 99.99%。

返回项目列表