iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

Temporal 開發指南:掌握 Workflow as Code 打造穩定可靠的分散式流程 系列

隨著微服務架構的普及,跨服務協作、長流程執行、失敗補償與重試機制成為後端開發的常見挑戰,也讓系統維運成本不斷攀升。

本系列將介紹流程引擎 Temporal ,包括 Workflow、Activity、Retry、Signal 等核心概念,以 Workflow as Code 的開發理念為基礎,透過簡易範例與說明,協助讀者理解並掌握跨服務長流程的設計與執行方式。

本文適合對微服務治理、流程穩定性、或有意導入 Temporal 的後端工程師與架構師閱讀。

鐵人鍊成 | 共 31 篇文章 | 7 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day11 - 不要讓流程無限等:Timeout Policy 的設計思維

在分散式流程中,網路延遲、第三方不穩與長任務不可避免,Timeout 與 Retry 的規則設定是推進及修復流程的一大重點。 本篇首先介紹 Timeout Po...

2025-09-25 ‧ 由 Jiang 分享
DAY 12

Day12 - 錯誤難免,重試要有策略:Retry Policy 的設計思維

1. Activity Retry 的設計 1.1 Temporal 的 Retry Policy 的類型 類型 作用 典型場景 設定建議 max...

2025-09-26 ‧ 由 Jiang 分享
DAY 13

Day13 - 流量高峰不失控:併發與限速的設計指南

在分散式系統中,錯誤處理常常是我們第一個想到的事(Timeout、Retry、冪等性)。但實際上,系統掛掉的原因,更多時候是「流量過大」把自己或下游撐爆。要同時...

2025-09-27 ‧ 由 Jiang 分享
DAY 14

Day14 - Temporal 實作 Saga Pattern,打造可靠的分散式交易流程

在單體應用中,只要以 Transaction begin/commit 或 @Transactional 就能跨表保證「全部成功或全部失敗」。發生錯誤時資料庫會...

2025-09-28 ‧ 由 Jiang 分享
DAY 15

Day 15 - Temporal 消除排程與狀態管理,流程寫得更直覺

前一篇的流程搭配 Temporal 的 Saga Pattern 輕鬆解決分散式交易流程,而本篇要展開的是互動式流程。 1. 流程介紹 情境:商品改價格需要人...

2025-09-29 ‧ 由 Jiang 分享
DAY 16

Day16 - Temporal 正確啟動流程的方式

前面的篇幅雖然啟動了三個流程,但剛接觸 Temporal 時,會很困惑「啟動方式很多,要選哪一個?」 本篇聚焦「啟動流程」,搭配對照表與極短範例,幫你迅速理解每...

2025-09-30 ‧ 由 Jiang 分享
DAY 17

Day17 - Temporal 互動 API 的設計指南(Signal / Query / Update)

本篇聚焦「互動 API」:Signal、Query、Update,看如何透過 API 與有狀態且可重播的 Workflow 互動,達成流程的推進。並提供對照表、...

2025-10-01 ‧ 由 Jiang 分享
DAY 18

Day18 - Temporal Entity Pattern 的設計思維:讓每個商品庫存都有專屬 Workflow

在傳統系統裡,商品庫存通常就是一張資料表 + 一堆邏輯、鎖與交易機制。 但當系統拆成微服務、要支援高併發時,庫存鎖衝突、分散式一致性、重試與補償,往往變成工程師...

2025-10-02 ‧ 由 Jiang 分享
DAY 19

Day19 - Temporal Child Workflow:大型流程的治理模式

1. 為什麼需要 Child Workflow? 在 Temporal 裡,我們會把流程封裝成一個 Workflow。 但當流程越來越複雜時,我們會發現: 有...

2025-10-03 ‧ 由 Jiang 分享
DAY 20

Day20 - Asynchronous Activity Completion - 非同步完成,讓資源不再卡住

1. 為什麼需要 Asynchronous Activity Completion? 在現實系統中,常常會遇到這種「長尾」任務: 等第三方金流回應(有時候還要...

2025-10-04 ‧ 由 Jiang 分享