opencode-workflow/skills/consistency-transaction-design
王性驊 082c9203fa feat/architect (#4)
Co-authored-by: 王性驊 <danielwang@supermicro.com>
Reviewed-on: #4
2026-04-13 01:19:39 +00:00
..
README.zh-TW.md feat/architect (#4) 2026-04-13 01:19:39 +00:00
SKILL.md feat/architect (#4) 2026-04-13 01:19:39 +00:00

README.zh-TW.md

一致性與交易設計 (Consistency Transaction Design) 知識合約指南

概述

consistency-transaction-design 是知識合約,用來提供一致性与交易設計的原則與模式。涵蓋 Strong vs Eventual Consistency、Idempotency、Deduplication、Retry、Outbox Pattern、Saga 與 Compensation。供 design-architecture 在定義一致性模型時參考。此合約取代了原有的 idempotency-design

核心原則

CAP Theorem

  • Consistency每次讀取都獲得最新寫入或錯誤
  • Availability每個請求都獲得回應不保證是最新寫入
  • Partition tolerance網路分割時系統仍可運作
  • 三者無法同時滿足,根據業務需求選擇。

一致性光譜

  • Strong Consistency:讀取永遠返回最新寫入
  • Eventual Consistency:讀取可能返回過時資料,最終收斂
  • Session Consistency:同一 session 內讀取看到自己的寫入
  • Causal Consistency:讀取遵守因果順序

設計重點

  • 一致性模型選擇:按資料域選擇,而非按系統選擇
  • Idempotency 設計何時需要、Key 策略、TTL、儲存位置
  • DeduplicationIdempotency key、Content hash、Sequence number
  • RetryFixed interval、Exponential backoff、Circuit breaker
  • Outbox Pattern:確保可靠事件發布
  • Saga Pattern跨服務分散式交易的補償機制Choreography vs Orchestration

知識合約職責

  • 提供一致性與交易設計的理論指引
  • 不直接產生一致性模型規格(由 design-architecture 的 Consistency Model 章節負責)

不應做的事

  • 不替系統選擇特定一致性策略
  • 不定義具體的 Idempotency key 格式或 TTL
  • 不產生實作程式碼