🎯 課程目標__HTMLTAG_68___
- ✅ 當主 Pod 被殺死時測試自動故障轉移__HTMLTAG_71___
- ✅ 計劃切換(維護視窗)
- ✅ 監控複製延遲
- ✅ 故障轉移期間的應用程式連線處理
- ✅ 圍欄與裂腦預防
第 1 部分:自動故障轉移
1.1。測試:殺死主要 Pod
___程式碼區塊_0___1.2。故障轉移時間軸
___程式碼區塊_1___第 2 部分:計劃切換
2.1。計劃切換(零資料遺失)
___程式碼區塊_2___第 3 部分:監控複製延遲
程式碼區塊_3
3.1。複製延遲警報
___程式碼區塊_4___第 4 部分:應用程式連線處理
4.1。處理應用程式中的故障轉移
___程式碼區塊_5___程式碼區塊_6
第 5 部分:擊劍與裂腦預防
程式碼區塊_7
💡 重點
-
___HTMLTAG_110__HTMLTAG_111___自動故障轉移:約10-15秒,操作員偵測+提升
___HTMLTAG_114__HTMLTAG_115___計畫切換:零資料遺失,
kubectl cnpg 提升___HTMLTAG_118__HTMLTAG_119___
___HTMLTAG_120__HTMLTAG_121___複製延遲監控:pg_stat_replication、Prometheus 指標
___HTMLTAG_124__HTMLTAG_125___應用程式:使用服務名稱、重試邏輯、target_session_attrs
___HTMLTAG_128__HTMLTAG_129___防護:K8s 租約可防止腦裂
___HTMLTAG_132__HTMLTAG_133___PgBouncer 對應用程式隱藏故障轉移(透明重新連線)
🎯 練習
練習 1:故障轉移實驗室
- 終止主 Pod,測量故障轉移時間
- 故障轉移後驗證資料一致性
- 方案切換到特定備用設備
練習 2:應用程式連線測驗
- 部署透過 PgBouncer 連接到 PG 的簡單應用
- 在應用寫入時觸發故障轉移
- 驗證應用程式自動復原
📚 下一篇文章
在 第 20 課:PostgreSQL 監控、調優和第二天操作中,我們將為生產設定詳細的監控和調優。