🎯 什麼情境該想到我

當你想讓資料庫高可用、或用多副本分攤讀取,卻遇到「讀到舊資料」的怪象時。

⚙️ 怎麼用(先選架構,再處理延遲)

  1. 選複製架構
    • 單主(Leader-based):寫主、讀從,最常見;簡單但主是寫入瓶頸/單點。
    • 多主:跨資料中心可寫,但要處理寫衝突。
    • 無主(Dynamo 式):靠 quorum 讀寫。
  2. 同步 vs 非同步:同步保證從庫有最新值但慢/易卡;非同步快但有延遲。
  3. 處理複製延遲的讀取異常
    • 讀自己的寫 → 讀己所寫一致性(read-your-writes)
    • 時光倒流 → 單調讀(monotonic reads)

🧪 我實際套用的紀錄

  • 2026-07-15:(待填)

⚠️ 注意

  • 非同步複製下「主故障切換」可能丟資料;切換策略要想清楚。
  • worker 查從庫可能查不到剛寫的資料 → 見 工具-MQ消費端防禦三原則

🔗 相關工具