什么是 Temporal?
Temporal 是一个开源的、可靠的分布式任务编排平台,用于构建可靠的分布式系统。
可靠的执行
工作流自动重试,永不丢失状态,即使服务器崩溃也能恢复
复杂流程编排
轻松处理复杂的业务流程、长运行任务和状态机
可观测性
完整的执行历史、事件追踪和调试工具
核心概念
工作流 (Workflow)
工作流是定义整个业务流程的代码。它是确定性的,可以暂停、恢复和重试。 工作流代码在 Temporal Server 的控制下执行,保证状态的一致性。
活动 (Activity)
活动是执行非确定性操作的代码,如调用外部 API、读写数据库或执行计算。 活动可以自动重试、超时和失败处理,让您的应用更加可靠。
Temporal Server
Temporal Server 是分布式系统的中央协调器,负责管理工作流和活动的执行、 状态持久化和事件历史记录。它确保系统的可靠性和可扩展性。
Worker
Worker 是运行工作流和活动代码的进程。它连接到 Temporal Server, 接收任务并执行实际的业务逻辑。您可以运行多个 Worker 来水平扩展。
为什么选择 Temporal?
1
专注于业务逻辑
不需要处理重试、超时、状态管理等基础设施代码,专注于实现业务需求。
2
自动恢复
系统崩溃、网络故障或代码更新时,工作流会自动从最后的状态恢复执行。
3
可观测性
完整的事件历史记录让您可以追踪每个工作流的执行,轻松调试问题。
4
语言无关
支持 Go、Java、Python、TypeScript、.NET 和 PHP,使用您熟悉的语言。
典型使用场景
订单处理
管理订单创建、支付、库存、发货等复杂流程
数据管道
构建可靠的数据 ETL 流程,确保数据处理不丢失
用户引导
协调多步骤的注册流程,发送邮件、验证、引导
资源管理
管理云资源的创建、配置、监控和销毁