摘要

Temporal 是一个源自 Uber Cadence 的开源持久化执行平台,通过事件溯源和工作流机制,为分布式系统提供高并发、自动容错与精准的状态恢复能力。

该仓库由 Temporal Technologies 维护,核心是 Temporal Server 端实现;业务侧仍需配合各语言 SDK 编写 Workflow、Activity 与 Worker。

功能与定位

Temporal 的核心定位是 Durable Execution Platform。它把应用逻辑组织为 Workflow 执行单元,由服务端负责任务调度、历史持久化与故障恢复,降低分布式系统中的状态一致性与重试治理成本。

仓库范围聚焦在 Temporal Server 本身,而不是业务工作流实现模板。对应用开发者而言,Server 与各语言 SDK 是配套关系。

典型使用场景

  • 需要长时运行、可恢复、可追踪的业务流程编排。
  • 多语言团队在同一工作流平台下协作,统一执行语义与失败处理策略。
  • 对任务可靠性要求高的分布式系统,例如跨服务事务、异步编排与后台批处理。

特色与差异点

  • 事件溯源驱动:以 append-only 历史记录作为状态来源,通过重放恢复 Workflow 状态。
  • 服务职责清晰:包含 Frontend、History、Matching、Internal Workers 等核心服务分层。
  • 执行边界明确:用户业务代码运行在用户自有 Worker 进程中,Server 负责调度与持久化。
  • 任务模型完整:覆盖 Workflow Task、Activity Task、Query Task 等不同执行路径。

使用方式概览

  • 本地开发可通过 Temporal CLI 启动开发服务器并进行服务操作。
  • 运行后可使用 Temporal Web UI 查看工作流执行状态与任务信息。
  • 发布版本提供对应发行包与镜像标签,便于在不同环境部署与升级。

限制与注意事项

  • 本仓库仅覆盖 Server 侧实现;业务逻辑开发必须结合对应语言 SDK。
  • Workflow 代码需满足确定性要求,非确定性逻辑应放在 Activity 侧处理。
  • 仓库内 docs/ 更偏向服务内核和贡献者视角;应用开发应优先参考官方文档站的开发指南。

链接

关联主题