iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

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

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

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

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

參賽天數 10 天 | 共 10 篇文章 | 6 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day01 - 分散式架構的挑戰

緣起 我在實作微服務流程(例如付款→送餐的兩步驟)時,總是反覆碰到相同類型的問題,歸納如下: 現實挑戰 連線瞬斷、暫時性錯誤 下游拋錯(例:信用卡過期)...

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

Day02 - Workflow Orchestration 流程編排介紹

Orchestration vs Choreography 差異 首先介紹這兩個名詞,在中文常都被翻譯成「編排」,但實際內涵不同: Orchestration...

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

Day03 - Temporal 基礎介紹

Temporal 的起源 Temporal 的起源可以追溯到 2004 年,當時兩位創辦人在 AWS 共同參與了 SQS message queue 的基礎建...

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

Day04 - 建立第一個流程 - Workflow / Activity

流程介紹 首先介紹我們第一個要撰寫的例子,以常見的電商註冊流程,有三個步驟: 建立帳號 給 user 加500點 寄出歡迎信 流程非常簡單,全部走完就結...

2025-09-18 ‧ 由 Jiang 分享
DAY 5

Day05 - 啟動第一個流程 - Worker / Start Trigger

Setup Temporal 首先安裝 Temporal Server,等一下建立的 Worker 及 Start Trigger 將藉由此核心流程引擎進行運作...

2025-09-19 ‧ 由 Jiang 分享
DAY 6

Day06 - 分散式流程的核心觀念 - BASE Model / State Machine

BASE Model 在單機系統中,做到強一致性相對容易:當 transaction commit 時,系統能確保「要嘛全部成功,要嘛全部失敗」,不會出現一半成...

2025-09-20 ‧ 由 Jiang 分享
DAY 7

Day07 - 分散式流程可靠性的基石 - State Persistence & Replay

State Persistence = Event History 僅有狀態機概念還不夠,流程必須能被「保存與還原」。Temporal 為每個 Workflo...

2025-09-21 ‧ 由 Jiang 分享
DAY 8

Day08 - 分散式流程的順序性(Ordering)挑戰

分散式流程不是線性世界 在單機程式裡,我們習慣「一步步執行」。 在分散式系統裡,A、B、C 三個服務的呼叫雖然在語意上表現為先後順序,但在實際執行層面上,則透...

2025-09-22 ‧ 由 Jiang 分享
DAY 9

Day09 - 不管是一次、一百次還是一萬次,我還是想跟你說我愛...冪等性

Retry / At-Least-Once 依照現有的範例,註冊流程通常會拆分成多個服務: 建立帳號 送點數 500 點 寄出歡迎信 這個看似簡單的流程,在...

2025-09-23 ‧ 由 Jiang 分享
DAY 10

Day10 - 重試之前先判斷:錯誤分類與處理路徑設計

在分散式系統中,網路的不確定性、第三方服務的不可預測、跨服務間的資源競爭,都讓錯誤更頻繁、更難排查;在編排架構下,以分類並結構化的方式處理錯誤,讓開發者專注於業...

2025-09-24 ‧ 由 Jiang 分享