Skip to content

Temporal 技术指南系列 ​

本系列是一份面向工程师的 Temporal 系统性学习指南,从基础概念到生产实践,覆盖 Workflow、Activity、Worker、错误处理、版本控制以及 Go 客户端编程。


目录 ​

序号文章主题难度
01Temporal 概述平台介绍、架构、适用场景★☆☆
02核心概念-WorkflowWorkflow 定义、执行、生命周期★★☆
03核心概念-ActivityActivity 定义、执行、重试策略★★☆
04核心概念-WorkerWorker 配置、Task Queue★★☆
05信号查询与更新Signal、Query、Update★★★
06错误处理与重试策略错误类型、重试、心跳、Saga★★★
07工作流版本控制Patching、Worker Versioning★★★
08测试与调试单元测试、Web UI、CLI★★☆
09Go-SDK基础安装、连接、基本结构★★☆
10Go-SDK-Workflow开发Workflow 定义、Context、最佳实践★★★
11Go-SDK-Activity开发Activity 定义、心跳、幂等性★★★
12Go-SDK-高级特性Signal、Query、Interceptor★★★
13生产部署Temporal Cloud、自托管、高可用★★★

推荐学习路径 ​

路径 A:快速入门(2-3 小时) ​

01-Temporal概述 → 02-核心概念-Workflow → 03-核心概念-Activity → 04-核心概念-Worker

适合:刚接触 Temporal、希望快速理解其定位与基础使用方式的工程师。

路径 B:进阶开发(基于路径 A,再加 3-4 小时) ​

→ 05-信号查询与更新 → 06-错误处理与重试策略 → 07-工作流版本控制

适合:需要在项目中深度使用 Temporal 的后端工程师。

路径 C:生产运维(基于路径 B,再加 2-3 小时) ​

→ 08-测试与调试 → 09-Go-SDK实战 → 10-生产部署

适合:负责 Temporal 应用部署、维护和监控的工程师。


各章内容简介 ​

01 - Temporal 概述 ​

介绍 Temporal 的起源(Uber Cadence)、核心特性(持久化执行、容错、可见性)、系统架构(Cluster、Worker、Client),与 AWS Step Functions、Camunda 等技术的对比,以及适用场景。

02 - 核心概念-Workflow ​

深入讲解 Workflow 的定义、类型、执行模型、Event History、确定性约束,以及长时间运行的工作流和 Schedule/Cron Job。

03 - 核心概念-Activity ​

讲解 Activity 的定义、执行、重试策略、心跳机制、幂等性要求,以及 Local Activity 与 Remote Activity 的区别。

04 - 核心概念-Worker ​

介绍 Worker Process、Task Queue、Worker Options 配置、资源限制和水平扩展策略。

05 - 信号查询与更新 ​

讲解 Signal(外部消息)、Query(状态查询)、Update(状态更新)三种交互方式的使用场景和代码示例。

06 - 错误处理与重试策略 ​

深入讲解错误类型、重试策略配置、心跳与进度报告、Saga 模式实现,以及超时配置最佳实践。

07 - 工作流版本控制 ​

讲解为什么需要版本控制、Patching 方法、Worker Versioning,以及版本控制最佳实践。

08 - 测试与调试 ​

介绍 Workflow 单元测试、Activity Mock、时间模拟、Temporal Web UI 使用和 CLI 调试命令。

09 - Go-SDK实战 ​

使用官方 Go SDK 进行完整的代码实战,涵盖客户端连接、Workflow 定义、Activity 定义、Worker 配置、Signal/Query 操作等。

10 - 生产部署 ​

介绍 Temporal Cloud、自托管部署方案、高可用配置、监控与告警、安全配置。


快速概念速查 ​

核心术语对照 ​

Temporal 术语含义类比
Workflow业务流程定义函数/流程
Activity单一操作单元函数调用
Worker执行代码的进程服务实例
Task Queue任务队列消息队列
Signal外部消息事件
Query状态查询HTTP GET
Event History事件历史审计日志

执行语义速查 ​

概念说明
持久化执行Workflow 状态自动持久化
确定性Workflow 代码必须确定性
重试Activity 失败自动重试
心跳长时间 Activity 进度报告

本地开发环境 ​

启动 Temporal 服务 ​

bash
# 使用 Temporal CLI(推荐)
temporal server start-dev

# 或使用 Docker
docker run -d --name temporal \
  -p 7233:7233 \
  -p 8233:8233 \
  temporalio/server:1.26.1

连接地址 ​


版本兼容性说明 ​

本指南基于以下版本编写:

组件版本说明
Temporal Server1.26.1当前稳定版
Go SDK1.31.0推荐使用最新版
Go1.21+客户端最低要求

参考资源 ​

官方资源 ​

学习资源 ​

社区资源 ​