🎯 什麼情境該想到我
當分散式系統需要判斷「某個節點還活著嗎」——但你分不清它是真的掛了還是只是網路慢/GC 停頓時。
⚙️ 怎麼用
- 心跳 / 逾時:最簡單——定期回報,逾時未回報視為可疑。缺點:逾時值難調(太短易誤判、太長反應慢)。
- Gossip 式偵測:節點互相傳播彼此的存活資訊,避免單點誤判、擴展性好。
- Phi-accrual 偵測器:不給「死/活」的布林,而是輸出一個懷疑程度(機率),讓上層依情境自訂閾值,對網路抖動更穩健。
核心體悟:在分散式下,你永遠無法確定一個節點是「掛了」還是「只是慢」——只能給機率、做取捨。
🧪 我實際套用的紀錄
- 2026-07-15:(待填)
⚠️ 注意
- 誤判節點死亡會觸發不必要的選主/搬資料,代價很高;偵測要在「快」與「準」間權衡。
🔗 相關工具
- 工具-反熵與Gossip傳播 —— Gossip 式偵測的底層機制,同一套傳播方式怎麼讓存活資訊與副本狀態最終一致
- 工具-線性一致性與共識 —— 判定節點死亡之後要做的事(選主、達成一致),也解釋了誤判為何代價這麼高
- 工具-服務容錯設計 —— 偵測到之後怎麼反應:熔斷、艙壁、降級,避免一個慢節點拖垮整條鏈路