当前位置: 首页 > news >正文

Postgres 队列如何突破局限?每秒 30000 次工作流执行的优化秘籍!

【DBOS 产品与资源介绍】

可点击链接查看产品,如 DBOS Transact(开源持久执行库)、DBOS Conductor(代理与工作流的控制平面)。也能点击链接查看更多信息,包括定价、客户案例等。资源链接涵盖关于 DBOS、视频、合作伙伴等相关内容;文档链接有快速入门、详细文档、示例应用程序等。还有博客可探索,以及更多持久执行库相关仓库。7 月 24 日有 DBOS 用户组会议。产品还有 DBOS Cloud(一键部署,扩展到数百万规模)。

【Postgres 队列能否扩展?】

通常认为基于 Postgres 的队列无法扩展,处理大规模工作负载需采用专门队列系统,如 RabbitMQ + Celery 或 Redis + BullMQ,因为队列对 Postgres 是具有挑战性的工作负载,大规模场景下会引发争用和索引频繁更新。但通过正确优化,Postgres 也能应对挑战,可实现每秒 30000 次工作流执行,且能跨数千台服务器运行。

【经验一:重新发现 SKIP LOCKED】

要让基于 Postgres 的队列正常工作,需解决多个工作进程出队相同工作流时的争用问题。基于 Postgres 的队列工作方式是客户端将工作流入队,工作进程出队并处理最早入队的工作流。多个工作进程同时运行查询会产生争用,成为系统瓶颈。幸运的是,Postgres 提供锁定子句解决此问题,如使用 `FOR UPDATE SKIP LOCKED` 的查询,它能锁定行并跳过已锁定的行,使许多工作进程可在无争用情况下同时拉取新工作流。锁定子句使基于 Postgres 的队列成为可能,但实现更大规模扩展还需更多优化。

【经验二:注意事务隔离级别】

锁定子句虽提高了性能,但在大规模场景下,出队操作常因 Postgres 的“序列化失败”异常而失败,形成性能瓶颈。问题根源在于 Postgres 的事务隔离级别,最初出队事务以 `REPEATABLE READ` 级别运行以支持全局队列限制,但在高并发情况下成本很高,工作进程花费在重试事务上的时间比处理工作流的时间还多。关键发现是大型队列很少使用全局流量控制,用户通常更喜欢本地限制。因此,使隔离级别具有条件性,使用全局流量控制的队列继续使用 `REPEATABLE READ`,不使用的队列则使用 `READ COMMITTED`,消除了序列化失败并提高了吞吐量。

【经验三:索引并非免费】

有了锁定子句和较低的隔离级别后,争用问题几乎消失,但每秒运行超过 8000 个工作流时,会遇到高 CPU 使用率的新瓶颈,问题来自出队查询本身和 Postgres 的自动清理,根本原因是低效的索引。工作流状态表上的二级索引在大规模场景下效率低下,出队索引需额外排序增加 CPU 使用率,维护多个索引成本高,索引更新和清理会消耗大量数据库 CPU 资源。解决方案是使索引更具选择性,更新主要出队索引,使其能排序并转换为部分索引,同时将同样原则应用于大多数可观测性索引。综合这些优化,CPU 使用率大幅降低,使队列能扩展到每秒超过 30000 个工作流。

【了解更多与分享】

若热衷于构建可扩展、可靠的系统,可查看快速入门、GitHub 及 Discord 社区。还有近期文章介绍了持久执行、AI 工作流等方面的新特性。文章还提供了分享到领英、推特、脸书及通过邮件分享的链接。

【DBOS 产品与解决方案】

DBOS 极大地简化了云应用程序的运维和部署。产品有 DBOS Cloud、DBOS Transact、定价计划等;解决方案包括定时任务平台、持久 AI 工作流、持久数据管道、云现代化等;开发者资源有文档、快速入门指南、示例、教程等;还有公司信息如关于我们、隐私政策等。

【开始使用 DBOS】

可使用开源的 DBOS Transact 库,永久免费,也可搭配 DBOS Pro 获取高级工具和支持。还可订阅 DBOS 洞察获取相关更新,产品有 DBOS Transact、DBOS Conductor 等,有多种用例和客户案例,也提供开发者资源和公司相关信息。

http://www.jsqmd.com/news/1301591/

相关文章:

  • 2026年东阳市电瓶救援商家 TOP 榜 - 优企甄选
  • 为什么你的AI模型在实车中准确率暴跌63%?——车端边缘推理失效的4层隐性瓶颈全拆解
  • 职场内耗识别与高效决策实战指南
  • 2026雅安黄金回收白银回收铂金回收市民首选无隐形扣费正规备案回收门店联系方式推荐
  • GJB 150.18A-2009《军用装备实验室环境试验 第 18 部分:冲击试验》完整解读
  • 英国签证认可的银行流水翻译件去哪弄?银行给开吗?看完你就明白了!
  • 2026年上海报废电动机回收服务公司选型参考 - 卓企推荐
  • 北京办理五大通道盘点+避雷要点,一站式整理香港身份参考 - 甄选测评官
  • 终极缠论分析系统:ChanlunX 通达信插件技术架构深度解析
  • 计算机单片机毕设实战-基于 STM32 与 Android 的智能指纹打卡装置设计 基于 OLED 显示的物联网指纹考勤设备开发(015001)
  • 基因编辑安全性优化的技术路径与评估体系
  • 消息传递神经网络突破性进展:Chemprop在药物发现中的工业级分子性质预测解决方案
  • Android MVC, MVP, MVVM, MVI 架构
  • AAV靶向心脏选型全攻略:HFpEF新靶点Sub1机制深度解析
  • SwitchBot新款循环扇:续航、风速升级,无需额外设备接入智能家居!
  • 终极Windows和Office激活解决方案:KMS智能激活完全指南
  • AI处理网络请求必须绕开的4类安全雷区(OWASP AI Top 5深度映射),2024最新攻防验证报告
  • 2026北京卖包不踩坑|奢侈品实体回收门店实测 - 一日一测评
  • 多微网低碳调度:碳流追踪与NSGA-II优化实践
  • 开题报告不用硬熬✨一个OKBIYE搞定从零到一全流程
  • RTOS-F429-HAL-任务状态查询API实验(2026/7/30)
  • DLSS Swapper终极指南:3步掌握游戏DLSS版本切换技巧
  • 从HBM4量产出货谈谈一块垂直堆叠的内存为何会卡住整个AI产业的脖子
  • 破解敏感肌反复难题:减少敏感反复的修护精华OEM如何实现长期维稳? - 汇聚至此
  • 美格推 Zero 系列台式电脑:4 毫米弧形钢化玻璃外观,起售价 2699 美元
  • DC-DC转换器自举电容:原理、计算与PCB布局实战
  • GetQzonehistory:Python技术栈下的QQ空间历史数据完整备份解决方案
  • 今天不看,明天就被淘汰:2024 Q2 AI搜索产品能力断层已形成——Top3与其余4家在长文档推理、跨源归因、模糊意图纠错上差距超4.8倍(附实测视频链接)
  • 内卷叙事与系统性焦虑:现代社会以焦虑完成秩序调控
  • RTOS-F429-HAL-绝对延时和相对延时(2026/7/31)