不用外部编排器:在 Postgres 上实现持久化工作流
原标题:Article: Implementing Durable Workflows on Postgres Without an External Orchestrator
AI 摘要
文章介绍 Kestrel Workflows 团队放弃 Temporal、AWS Step Functions 等外部编排器,改用 Postgres 实现持久化工作流执行。核心手段是用 SELECT ... FOR UPDATE SKIP LOCKED 把普通表变成并发工作队列,用主键约束保证步骤幂等,并用租约加清扫器模式实现崩溃恢复。作者认为这样可减少一个有状态外部系统,把可观测性简化为 SQL 查询,并统一可靠性与安全依赖。
正文节选
Key Takeaways - Durable execution does not require a dedicated orchestrator like Temporal or AWS Step Functions; a relational database you already operate can play that role and remove a stateful, external system from your critical path. - SELECT ... FOR UPDATE SKIP LOCKED turns an ordinary Postgres table into a concurrent work queue where each row is claimed by exactly one worker, with no message broker, leader election, or external lock service. - Making step checkpoints a primary-key constrai