dbos-inc/dbos-transact-ts
Database-Backed Durable TypeScript Workflows
解决的问题
DBOS Transact 提供了一种无需依赖独立、重型编排服务器即可使 TypeScript 程序可靠且具备容错能力的方法。它解决了应用程序在遭遇服务器崩溃或长时间运行流程中断时,管理复杂状态和恢复逻辑的问题,例如支付服务或数据管道。
工作原理
DBOS 使用 Postgres 数据库来检查点(checkpoint)程序的状态。通过将普通函数注册为「工作流」和「步骤」,开发者可以确保程序失败后,重启时能自动从上一个完成的步骤继续执行。它通过在库内部直接实现持久化逻辑,消除了对外部任务队列或编排器的需求。
适用人群
需要高可靠性的应用开发者,例如管理金融交易、数据管道,或依赖非确定性或不可靠外部 API 的 AI 代理。
特性亮点
- 持久化工作流:程序失败后,自动从 Postgres 中的最后一个检查点恢复执行。
- 持久化队列:基于 Postgres 的后台任务执行,支持流控、限速和去重。
- 程序化管理:可通过 Postgres 表直接查询、暂停、恢复或分叉失败的工作流。
- 精确一次处理:内置幂等性键支持,确保事件仅被处理一次。
- 持久化调度:支持基于 cron 的调度和长期「持久化休眠」,重启后仍能保持。
- 持久化通知:发送和接收通知以暂停或恢复工作流时,保证精确一次语义。
相关
- 项目
- 项目
- 项目
- 项目
- 项目