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

DBOS:用 Postgres 简化持久工作流,解决可扩展性、可用性等难题!

DBOS 产品与资源介绍

DBOS 有相关产品,如 DBOS Transact(开源持久执行库)、DBOS Conductor(代理和工作流的控制平面)、DBOS Cloud(一键部署,可扩展至数百万规模)等。还有多种资源,包括了解简化可靠性的团队、DBOS 演示及深度剖析等视频内容、探索 DBOS 生态系统的合作伙伴等。同时提供定价、客户案例、博客等信息,也有文档如快速入门、分步指南和实际用例、示例应用程序等。另外,还有不同语言的持久执行库,如 TypeScript、Python、Go、Java 版本,以及 DBOS 演示应用程序等仓库。

持久工作流与 DBOS 架构

持久工作流是构建可靠程序的简单而强大的工具,其核心是在程序运行时定期将进度检查点保存到数据库,类似电子游戏存档机制。常见的持久工作流实现方式是外部编排,Temporal、Airflow 和 AWS Step Functions 等系统采用此模式。在该模式下,编排器协调持久程序的执行,客户端提交工作流后,编排器创建记录并分配给工作者,工作者完成步骤后返回结果,编排器保存输出并分配下一步骤,若工作者故障,编排器重新分配。不过,外部编排从根本上过于复杂,持久工作流与数据库相关,没必要用单独的编排器服务器,直接用数据库本身作为编排器更简单高效。基于 Postgres 的持久工作流系统中,应用服务器直接与 Postgres 通信执行工作流,客户端通过在 Postgres 工作流表创建记录提交工作流,应用服务器轮询表取出工作流执行,并将步骤输出保存到 Postgres 检查点,若服务器故障,其他服务器可从检查点恢复工作流。这种设计使中央编排器多余,应用服务器通过 Postgres 协调,工作者自行保存步骤到 Postgres,Postgres 的数据库完整性约束可避免重复工作。

基于 Postgres 的持久工作流优势

可扩展性和可用性:基于数据库的持久工作流系统的可扩展性和可用性取决于底层数据库,可通过添加工作者服务器水平扩展,最大容量取决于数据库处理工作流的速度,工作者可互换,只要数据库可用系统就能运行。使用 Postgres 时,其可扩展性和可用性有可靠解决方案,单个 Postgres 服务器可垂直扩展每秒处理数万个工作流,还可通过分布式或分片的 Postgres 进一步扩展,Postgres 支持流式复制和自动故障转移,托管服务提供多可用区部署和高可用性服务水平协议。可观测性:使用基于 Postgres 的持久执行,工作流及其步骤保存到 Postgres 表检查点,可观测性内置,可用 SQL 表达工作流可观测性查询,如查找上个月出错的所有工作流。Postgres 的关系模型允许用 SQL 进行复杂过滤和分析操作,许多简单数据模型系统不具备此支持,将工作流和步骤数据存储在 Postgres 表并添加二级索引,可高效实现持久执行可观测性。可靠性和安全性:使用外部编排器进行持久执行时,编排器及其数据存储是单点故障,停机则应用程序无法使用,且处理和存储敏感数据需加固、访问控制和审计。相比之下,基于 Postgres 的持久执行唯一故障点是 Postgres 本身,工作流数据直接存储在 Postgres 中,若应用程序已依赖 Postgres,采用持久执行不会增加新故障点和安全风险,复用数据库进行编排更合理。

了解更多与分享文章

如果热衷于构建可扩展、可靠的系统,可查看快速入门、GitHub、Discord 社区等。文章还提供了分享到领英、推特、脸书、通过邮件分享等分享途径。

DBOS 相关见解与信息

介绍了近期文章,包括 DBOS 架构、如何打造开发者喜爱的 AI 代理体验、Java 开发者的 DBOS 新特性等文章的日期、标题、内容、作者等信息。还介绍了 DBOS 的产品如 DBOS Cloud、DBOS Transact 等,解决方案如定时任务平台、持久 AI 工作流等,开发者资源如文档、快速入门指南等,公司信息如关于我们、隐私政策等。同时提到 DBOS 极大地简化了云应用程序的 DevOps 和部署,可使用开源的 DBOS Transact 库永久免费,搭配 DBOS Pro 可获得高级工具和支持,还可订阅 DBOS 洞察获取持久工作流执行和可观测性的更新。

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

相关文章:

  • 低成本腕戴式反应时间监测设备设计与实现
  • CXL内存压缩技术TRACE架构与位平面优化解析
  • Unity WebGL打包的WebAR,如何在手机真机上调试与部署?保姆级避坑指南
  • MATLAB版BP神经网络回归预测工具包:含数据读取、训练调试、误差评估与未来值输出
  • 别再当‘炼丹’盲人了!用CAM可视化技术,看看你的CNN模型到底‘看’到了什么
  • Windows多屏办公的隐形痛点:除了鼠标漂移,你的显示器‘物理对齐’真的做对了吗?
  • 用Steam游戏《Turing Complete》手把手教你造CPU:从ALU到指令解码的完整电路搭建心得
  • 口碑好的1000升电热水器供应商排名
  • 避坑指南:DVC1006多芯片级联时,被动均衡的“时序打架”问题怎么破?
  • RK3568多屏配置踩坑实录:为什么我的uboot启动失败了?
  • 淘宝淘金币自动化脚本终极指南:深度解析taojinbi架构与性能优化策略
  • 企业安全必看:如何自查并修复SmartBI的权限绕过漏洞(附官方升级指南)
  • MATLAB一键运行的四种信号分解方法:EMD/EEMD/CEEMDAN/VMD完整实现
  • UE5新手必看:手把手教你实现RTS游戏里的框选单位功能(附蓝图全流程)
  • 如何通过开源工具Applera1n安全绕过iOS激活锁限制
  • 避开这个坑!GD32F103多路ADC采样配置的完整避坑指南(附LM358电路设计要点)
  • 别再手动K帧了!用Python脚本批量处理Blender骨骼动画(附完整代码)
  • 不止于点灯:用PWM波驱动舵机与呼吸灯,玩转蓝桥杯STM32G431
  • 保姆级教程:手把手教你用MT4 API搭建外汇跟单系统(附精确匹配与避坑指南)
  • 2026办公母婴氢水定制设备推荐榜:全能冰泉机/厨下反渗透净水机/中央净水机/厨下净热一体机/大流量净水机/厨下净水/选择指南 - 优质品牌商家
  • 别再硬扛内存了!手把手教你用Signac在服务器上搞定TF motif富集分析(附避坑指南)
  • 微信支付V3回调签名验证踩坑记:为什么不能用HttpServletRequest和自定义对象接收?
  • 用PyTorch复现PINN求解Burgers方程:从网络定义到训练可视化的保姆级教程
  • 电信老用户换套餐推荐工具:基于SVM的消费行为分类模型,含训练代码、测试数据与可视化分析
  • 别再复制粘贴了!手把手教你配置Categraf v0.3.22推送数据到Prometheus 2.45(附关键参数详解)
  • 执笔逐美,浙笺漂邂逅双向诗意“浙笺漂”
  • 智能手环测心率不准?一文看懂PPG绿光背后的原理与常见误区
  • XC866芯片JTAG调试中断寄存器组冲突解决方案
  • C++游戏开发:用std::mt19937搞定抽卡、暴击、怪物生成(含种子管理心得)
  • 2026年5月西安防水堵漏品牌综合实力深度解析与优选指南 - 2026年企业资讯