Go后台任务队列
River 是面向 Go 应用的后台任务队列,后端依赖 PostgreSQL,主打“事务安全”的任务入队:任务可在业务数据库事务中插入,只有事务提交后才会执行;如果 API 事务成功,任务也会被入队。这相比 Redis 等外部队列减少了服务依赖,也降低了事务与异步任务不一致的风险。
开源版功能已较完整,包括多隔离队列、唯一任务、优先级、周期/cron 任务、Snoozing、自动重试、事务性任务完成、测试辅助、错误报告、遥测集成和自托管 River UI。River UI 可查看队列深度、吞吐、错误任务,并支持取消、重试、删除任务、暂停队列等运维动作。它也符合 Go 生态习惯,利用泛型为 Worker 提供强类型参数。Pro 版进一步提供工作流、批处理、序列、死信队列、加密任务、可恢复任务、全局并发限制等高级能力。
River 的主体面向 Go + PostgreSQL。文档还提到 Bun、GORM、SQLite、PgBouncer、备用 schema、OpenTelemetry 等集成,并提供 Python、Ruby、SQL、TypeScript 的跨语言入队说明。文档质量较高,目录覆盖迁移、可靠 Worker、唯一任务、重试策略、UI 部署、Pro 模块和高级主题,示例代码充分。
River 开源版可自托管;River UI 也可通过源码、二进制、Docker 镜像或嵌入 Go 应用运行。River Pro 为付费订阅,提供商业支持和高级功能,但正文未披露具体价格、付款方式或套餐细节。
优势是与 Postgres 事务强绑定、无需额外队列服务、Go 类型安全体验好、可观测和 UI 友好。限制是定位较窄,最适合 Go/Postgres 技术栈;部分生产级高级能力需 Pro;UI 默认公开访问时需自行配置认证。它适合希望减少 Redis/RabbitMQ 运维负担、重视任务与业务数据一致性的 Go 后端团队。
正文未提供中国大陆访问、支付或合规信息,判定为未知。若访问 GitHub、容器镜像或私有模块受网络影响,国内团队可评估 Asynq、Temporal、Celery、BullMQ、Graphile Worker 等替代方案。
本测评基于公开资料整理,不构成购买建议,请以 riverqueue.com 官网实际信息为准。
开源Go任务队列,PostgreSQL支持事务安全。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。