隨著微服務架構的普及,跨服務協作、長流程執行、失敗補償與重試機制成為後端開發的常見挑戰,也讓系統維運成本不斷攀升。
本系列將介紹流程引擎 Temporal ,包括 Workflow、Activity、Retry、Signal 等核心概念,以 Workflow as Code 的開發理念為基礎,透過簡易範例與說明,協助讀者理解並掌握跨服務長流程的設計與執行方式。
本文適合對微服務治理、流程穩定性、或有意導入 Temporal 的後端工程師與架構師閱讀。
在分散式流程中,網路延遲、第三方不穩與長任務不可避免,Timeout 與 Retry 的規則設定是推進及修復流程的一大重點。 本篇首先介紹 Timeout Po...
1. Activity Retry 的設計 1.1 Temporal 的 Retry Policy 的類型 類型 作用 典型場景 設定建議 max...
在分散式系統中,錯誤處理常常是我們第一個想到的事(Timeout、Retry、冪等性)。但實際上,系統掛掉的原因,更多時候是「流量過大」把自己或下游撐爆。要同時...
在單體應用中,只要以 Transaction begin/commit 或 @Transactional 就能跨表保證「全部成功或全部失敗」。發生錯誤時資料庫會...
前一篇的流程搭配 Temporal 的 Saga Pattern 輕鬆解決分散式交易流程,而本篇要展開的是互動式流程。 1. 流程介紹 情境:商品改價格需要人...
前面的篇幅雖然啟動了三個流程,但剛接觸 Temporal 時,會很困惑「啟動方式很多,要選哪一個?」 本篇聚焦「啟動流程」,搭配對照表與極短範例,幫你迅速理解每...
本篇聚焦「互動 API」:Signal、Query、Update,看如何透過 API 與有狀態且可重播的 Workflow 互動,達成流程的推進。並提供對照表、...
在傳統系統裡,商品庫存通常就是一張資料表 + 一堆邏輯、鎖與交易機制。 但當系統拆成微服務、要支援高併發時,庫存鎖衝突、分散式一致性、重試與補償,往往變成工程師...
1. 為什麼需要 Child Workflow? 在 Temporal 裡,我們會把流程封裝成一個 Workflow。 但當流程越來越複雜時,我們會發現: 有...
1. 為什麼需要 Asynchronous Activity Completion? 在現實系統中,常常會遇到這種「長尾」任務: 等第三方金流回應(有時候還要...