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

26 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 分散式系統基礎 (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 與適用場景
- 不直接產生實作程式碼或配置
## 不應做的事
- 不替系統選擇特定實現方式
- 不假設網路呼叫永遠成功
- 不忽略分散式帶來的複雜性