opencode-workflow/skills/distributed-system-basics
王性驊 acd1d057af add AGENTS 2026-04-10 22:44:49 +08:00
..
README.zh-TW.md add AGENTS 2026-04-10 22:44:49 +08:00
SKILL.md add architect agent 2026-04-10 17:24:59 +08:00

README.zh-TW.md

分散式系統基礎 (Distributed System Basics) 知識合約指南

概述

distributed-system-basics 是知識合約用來理解與設計分散式系統的相關考量At-least-once vs Exactly-once、Retry 行為、Duplicates、Idempotency、Timeout vs Failure、Partial Failure、Eventual Consistency 與 Ordering Guarantees。供 design-architecture 在處理分散式系統相關問題時參考。

核心原則

分散式系統中,網路呼叫會失敗、請求會重複、資料可能過時。設計時必須假設這些問題會發生,並系統性地處理它們。

設計重點

  • 交付保證At-Most-Once、At-Least-Once、Exactly-Once 的選擇框架
  • Retry 行為:何時重試、何時不重試、退避策略
  • Duplicates如何產生、如何處理Idempotency keys、Deduplication
  • Timeout vs FailureTimeout 表示未知狀態,不是失敗狀態
  • Partial Failure:多步驟操作失敗時的處理策略
  • Eventual Consistency:使用時機與一致性窗口
  • Ordering GuaranteesPer-Partition vs Global vs None

知識合約職責

  • 提供分散式系統設計的理論指引
  • 說明各種模式的 Trade-offs 與適用場景
  • 不直接產生實作程式碼或配置

不應做的事

  • 不替系統選擇特定實現方式
  • 不假設網路呼叫永遠成功
  • 不忽略分散式帶來的複雜性