Temporal 工作流引擎
Temporal 是开源的分布式工作流编排平台,用于构建可靠、可扩展的应用程序。通过工作流和活动的概念,提供自动重试、状态持久化、长时间运行、分布式事务等核心能力。本应用在 LazyCat 平台部署完整的 Temporal 服务,包含 Server、Web UI 和 PostgreSQL 数据库,开箱即用。适用于订单处理、支付流程、数据处理、微服务编排等场景。
安装次数
点赞
应用评论
催更次数
桌面端
移动端




应用描述
## Temporal 工作流引擎 Temporal 官方网站:https://temporal.io/ Temporal 是一个开源的分布式工作流编排平台,专为构建可靠、可扩展的分布式应用程序而设计。它通过工作流(Workflow)和活动(Activity)的概念,帮助开发者轻松实现复杂的业务流程编排。 本应用在 LazyCat 平台上部署了完整的 Temporal 服务,包括 Temporal Server、Web UI、PostgreSQL 数据库和管理工具,开箱即用。 ## 核心特性 - ✅ **自动重试机制** - 活动失败时自动重试,无需手动编写重试逻辑 - ✅ **执行完整性保证** - 即使服务重启,工作流也会从中断处继续执行 - ✅ **长时间运行支持** - 支持从几秒到几年的工作流执行时间 - ✅ **分布式事务** - 提供补偿事务(Saga)模式,简化分布式事务处理 - ✅ **可观测性** - 内置 Web UI 查看工作流执行历史和状态 - ✅ **水平扩展** - Worker 可以水平扩展以提高处理能力 ## 主要组件 - **Temporal Server** - 工作流引擎核心服务(gRPC 端口 7233) - **Web UI** - 工作流管理和监控界面(通过应用域名访问) - **PostgreSQL** - 持久化存储工作流状态和历史 - **Admin Tools** - 命令行管理工具 ## 使用方法 ### 1. 访问 Web UI 通过应用域名直接访问 Temporal Web UI,查看和管理工作流执行: ``` https://temporal.${BOXNAME}.heiyu.space ``` ### 2. 连接 Temporal 服务 在你的应用中使用 Temporal Go SDK 连接到服务: ```go import "go.temporal.io/sdk/client" c, err := client.Dial(client.Options{ HostPort: "temporal.${BOXNAME}.heiyu.space:7233", }) ``` ### 3. 运行示例项目 本仓库包含一个完整的订单处理系统示例(order-demo),演示了: - 5 步订单处理流程(验证 → 库存 → 支付 → 发货 → 通知) - 自动重试机制 - 补偿事务(Saga 模式) - 容错处理 启动 Worker: ```bash cd order-demo go run worker/main.go -temporal-address temporal.${BOXNAME}.heiyu.space:7233 ``` 运行客户端: ```bash go run client/main.go -temporal-address temporal.${BOXNAME}.heiyu.space:7233 ``` ## 适用场景 - 📦 **订单处理** - 电商订单从创建到完成的全流程编排 - 💰 **支付处理** - 复杂的支付流程和退款补偿逻辑 - 📊 **数据处理** - ETL 流程、批量数据处理任务 - 🔄 **定时任务** - 复杂的定时任务调度和重试 - 🎯 **微服务编排** - 跨多个微服务的业务流程协调 - 📧 **通知系统** - 可靠的消息发送和重试机制 ## 技术架构 - **Temporal Server 版本**: 1.29.0 - **Web UI 版本**: 2.40.1 - **数据库**: PostgreSQL 16 - **支持的 SDK**: Go, Java, Python, TypeScript, .NET, PHP ## 注意事项 - ⚠️ **后台服务**: 本应用为后台服务,会持续运行不会自动休眠 - 💾 **数据持久化**: 所有工作流状态和历史数据存储在 PostgreSQL 中,建议定期备份 - 🔒 **单实例模式**: 应用运行在单实例模式,适合中小规模使用场景 - 🌐 **网络访问**: Worker 可以部署在任何能访问 LazyCat 平台的环境中 ## 相关资源 - 📖 [Temporal 官方文档](https://docs.temporal.io/) - 💻 [Go SDK 文档](https://docs.temporal.io/dev-guide/go) - 📦 [示例代码库](https://github.com/temporalio/samples-go) - 🐙 [项目 GitHub](https://github.com/lazycatapps/temporal)
懒猫评分/评论
0.0
0 条评论
应用信息
新功能
版本历史记录"Auto Submit: be14fec809baa7a7d78d9a8ae3567fb48ad4e65f"
此 App 尚未收到足够的评分或评论,无法显示评论列表。