设计模式
来自 Dex 示例的可复用 Flow 形状。每个模式页说明问题、做法,并链接到多语言代码。
完整示例位于 examples/go、examples/java、examples/python、examples/typescript 和 examples/rust。可在 examples playground 中试用 HTTP 示例;见 examples/README.md。
- Durable Timer — 选择 cron schedule、Reminder 或 inactivity tracker。
- Drain Channels
- Drain Internal Channels — 让 producer/consumer Flow 不丢失在途 Channel 消息地完成。
- Drain External Channels — 处理外部发布的消息,并在 Channel 为空时完成。
- 可中断执行 — 根据 durable 控制消息,优雅地停止或转向长时间工作。
- Failure Handling — 恢复 Execute 或 WaitFor 失败、升级给操作人员,或强制执行业务截止时间。
- Parallel Steps — 选择静态、动态、等待全部完成或首个获胜的并发 Step 协调方式。
- Parallel SubFlows — 用 SubFlow fan-out、父 Flow 并发上限、分区和 durable 背压处理大规模并行工作。
- Polling and Iteration — 周期性检查外部状态,或按页处理大量数据。
- Data Storage — 将每个实体的 durable Flow Attribute 投影到应用自有的 SQL 表。
- 响应式更新 — 在 Step 边界返回、等待 durable 状态,或流式传递增量更新。