opencode-workflow/skills/distributed-system-basics/README.zh-TW.md

26 lines
1.4 KiB
Markdown
Raw Normal View History

2026-04-10 14:44:49 +00:00
# 分散式系統基礎 (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 Failure**Timeout 表示未知狀態,不是失敗狀態
- **Partial Failure**:多步驟操作失敗時的處理策略
- **Eventual Consistency**:使用時機與一致性窗口
- **Ordering Guarantees**Per-Partition vs Global vs None
## 知識合約職責
- 提供分散式系統設計的理論指引
- 說明各種模式的 Trade-offs 與適用場景
- 不直接產生實作程式碼或配置
## 不應做的事
- 不替系統選擇特定實現方式
- 不假設網路呼叫永遠成功
- 不忽略分散式帶來的複雜性