1. 课程导论:任务调度平台与 Temporal 的关系、课程目标与学习路径

1.1 为什么需要任务调度平台?

在现代分布式系统中,业务逻辑往往不是一次性的请求-响应,而是由多个步骤组成的长期运行流程。例如:订单创建后需要 30 分钟未支付自动取消、用户注册后发送欢迎邮件序列、每日凌晨的数据报表生成与推送。这些场景都需要一个可靠的任务调度与编排平台来管理执行顺序、重试策略、状态持久化和错误处理。

核心痛点: 传统 Cron 定时任务 + 消息队列的组合在面对复杂编排、长时间运行、状态回溯和跨服务协调时,代码复杂度急剧上升,且缺乏统一的可见性与治理能力。

1.2 从传统调度到 Temporal 编排

下表对比了传统任务调度方案与基于 Temporal 的编排方案在关键维度上的差异:

维度 传统方案(Cron + MQ + 数据库状态机) Temporal 编排方案
执行模型 定时触发 + 异步消息驱动 工作流(Workflow)作为一等公民,代码即编排
状态持久化 依赖外部数据库,需手动管理状态表 自动事件溯源(Event Sourcing),工作流状态完全可恢复
重试与补偿 需自行实现重试队列和 Saga 补偿逻辑 内置指数退避重试、定时器、子工作流补偿
可见性 分散的日志和监控指标 Web UI / CLI / OpenAPI 统一查看所有工作流执行历史
跨语言支持 通常绑定单一语言生态 Go、Java、Python、TypeScript 等 SDK 原生支持

1.3 Temporal 在任务调度平台中的定位

Temporal 不是一个简单的任务队列,而是一个分布式、可扩展、容错的工作流引擎。在任务调度平台中,Temporal 承担以下核心角色:

  • 编排层(Orchestrator): 定义任务执行的 DAG(有向无环图)或顺序流程,控制步骤间的依赖与并行。
  • 状态管理层(State Manager): 通过 Event History 记录每个工作流的完整执行轨迹,支持任意时间点的恢复与查询。
  • 调度执行层(Scheduler + Executor): 内置定时器(Timer)和 Cron 支持,结合 Worker 池实现分布式任务执行。
  • 治理与观测层(Governance & Observability): 提供 OpenAPI 接口,允许外部系统动态创建、暂停、重置、查询工作流。
Temporal 在任务调度平台中的核心定位 Temporal 在任务调度平台中的核心定位 任务调度平台边界 Cron 触发器 定时 / 周期任务 消息队列 异步解耦 / 削峰 Temporal 工作流编排引擎 • 工作流定义 • 活动任务 • 事件溯源 • 定时器 / 重试 • OpenAPI 治理 Worker 池 活动任务执行者 业务服务 订单 / 支付 / 通知 💡 编排层(Temporal)解耦了调度触发与业务执行,提供统一的状态持久化和可观测性 传统方案中的状态管理、重试逻辑、补偿事务全部由 Temporal 工作流代码自动接管

1.4 课程目标

本课程旨在帮助学员掌握以下核心能力:

  1. 理解 Temporal 核心模型: 工作流(Workflow)、活动(Activity)、Worker、命名空间(Namespace)、任务队列(Task Queue)的概念与交互。
  2. 掌握 OpenAPI 集成: 如何通过 Temporal 的 OpenAPI 规范动态创建、查询、信号(Signal)、查询(Query)和终止工作流。
  3. 构建生产级任务调度平台: 结合 Temporal 的 Cron 调度、定时器、重试策略和 Saga 模式,实现可靠的业务编排。
  4. 实战演练: 从零搭建一个基于 Temporal + OpenAPI 的订单超时处理与通知调度系统。

1.5 学习路径与章节规划

课程共分为 6 个模块,30 个章节,循序渐进地从基础概念到高级实战:

模块 章节范围 核心内容
模块一:基础入门 第 1-5 章 任务调度概念、Temporal 环境搭建、第一个工作流
模块二:核心机制 第 6-12 章 工作流与活动生命周期、重试与超时、定时器与 Cron
模块三:OpenAPI 集成 第 13-18 章 OpenAPI 规范解读、客户端生成、动态工作流管理
模块四:高级编排模式 第 19-24 章 Saga 补偿、子工作流、信号与查询、并发控制
模块五:生产化实践 第 25-28 章 监控与告警、多租户、数据加密、性能调优
模块六:综合实战 第 29-30 章 订单超时调度平台完整实现与部署
课程学习路径与知识图谱 课程学习路径与知识图谱 模块一 基础入门 第1-5章 模块二 核心机制 第6-12章 模块三 OpenAPI 集成 第13-18章 模块四 高级编排 第19-24章 模块五 生产化实践 第25-28章 模块六 综合实战 第29-30章 📌 学习建议 前五个模块按顺序学习,模块六为综合实战,建议在掌握前五模块后集中完成。 每章末尾包含动手练习和思考题,建议在本地环境同步编码实践。

1.6 预备知识

为获得最佳学习体验,建议学员具备以下基础:

  • 至少熟悉一门编程语言(Go / Java / Python / TypeScript 均可)
  • 了解基本的 REST API 概念(HTTP 方法、状态码、JSON)
  • 对分布式系统的基本概念(如 CAP 理论、消息队列、状态机)有初步认识
  • 本地已安装 Docker 和 Docker Compose(用于快速启动 Temporal Server)
💡 提示: 如果你对 Temporal 完全陌生,不用担心。模块一将从零开始搭建开发环境并运行第一个工作流,后续章节会逐步深入。建议在学习过程中保持 Temporal Web UI(默认 http://localhost:8233 )打开,直观观察工作流状态变化。