🎯 課程目標__HTMLTAG_68___
- ✅ 了解 Redis Sentinel 與叢集模式 — 何時使用
- ✅ 在 Kubernetes 上部署 Redis Sentinel HA
- ✅ 部署Redis叢集模式(分片)
- ✅ 持久化設定:RDB 與 AOF
- ✅ 快取策略與最佳實務
- ✅ 使用 Prometheus 監控 Redis
第 1 部分:REDIS HA — SENTINEL 與 CLUSTER
程式碼區塊_0
___HTMLTAG_89__HTMLTAG_90___功能___HTMLTAG_91__HTMLTAG_92___哨兵模式___HTMLTAG_93__HTMLTAG_94___叢集模式___HTMLTAG_95__HTMLTAG_96___ ___HTMLTAG_99__HTMLTAG_100___資料分佈___HTMLTAG_101__HTMLTAG_102___Master上的所有資料___HTMLTAG_103__HTMLTAG_104___分片(雜湊槽)___HTMLTAG_105__HTMLTAG_106___ ___HTMLTAG_107__HTMLTAG_108___最大資料集大小___HTMLTAG_109__HTMLTAG_110___單節點RAM____HTMLTAG_111__HTMLTAG_112___所有主控RAM的總和____HTMLTAG_113__HTMLTAG_114___ ___HTMLTAG_115__HTMLTAG_116___讀取擴充____HTMLTAG_117__HTMLTAG_118___讀取副本____HTMLTAG_119__HTMLTAG_120___每個分片的讀取副本____HTMLTAG_121__HTMLTAG_122___ ___HTMLTAG_123__HTMLTAG_124___寫入縮放____HTMLTAG_125__HTMLTAG_126___僅限單一母版___HTMLTAG_127__HTMLTAG_128___多個母版(水平)___HTMLTAG_129__HTMLTAG_130______ ___HTMLTAG_131__HTMLTAG_132___故障轉移___HTMLTAG_133__HTMLTAG_134___Sentinel 法定投票___HTMLTAG_135__HTMLTAG_136___內建(Ggossip 協定)___HTMLTAG_137__HTMLTA_138______ ___HTMLTAG_139__HTMLTAG_140___多鍵操作___HTMLTAG_141__HTMLTAG_142___支援___HTMLTAG_143__HTMLTAG_144___僅相同的雜湊槽 ({tag})___HTMLTAG_1455__HTMLTAG_146___ ___HTMLTAG_147__HTMLTAG_148___複雜性___HTMLTAG_149__HTMLTAG_150___簡單___HTMLTAG_151__HTMLTAG_152___更複雜___HTMLTAG_153__HTMLTAG_154______ ___HTMLTAG_155__HTMLTAG_156___最適合___HTMLTAG_157__HTMLTAG_158___快取、會話(< 32GB)____HTMLTAG_159__HTMLTAG_160___大資料集,高寫入吞吐量__HTMLTAG_161__HTMLTAG_162___第 2 部分:部署 REDIS SENTINEL HA
2.1。使用 Bitnami Helm Chart 安裝
___程式碼區塊_1___2.2。自訂值檔案(詳細資訊)
___程式碼區塊_2___程式碼區塊_3
第 3 部分:部署 REDIS 叢集模式
程式碼區塊_4
程式碼區塊_5
第 4 部分:持久性 — RDB 與 AOF
___HTMLTAG_182__HTMLTAG_183___功能___HTMLTAG_184__HTMLTAG_185___RDB(快照)___HTMLTAG_186__HTMLTAG_187___AOF(僅附加文件)___HTMLTAG_188__HTMLTAG_189___AOF(僅附加文件)___HTMLTAG_188__HTMLTAG_189___ ___HTMLTAG_194__HTMLTAG_195___機制___HTMLTAG_196__HTMLTAG_197___時間點快照___HTMLTAG_198__HTMLTAG_199___記錄每個寫入操作___HTMLTAG_200__HTMLTAG_201___兩者20MLGMLG1_20_20_201___20UML ___HTMLTAG_204__HTMLTAG_205___資料遺失____HTMLTAG_206__HTMLTAG_207___直到最後一個快照___HTMLTAG_208__HTMLTAG_209___~1秒(每秒appendfsync)___HTMLTAG_210__1UHT_ML01112201021_210__12GML ___HTMLTAG_214__HTMLTAG_215___恢復速度___HTMLTAG_216__HTMLTAG_217___快速(載入二進位檔案)___HTMLTAG_218__HTMLTAG_219___先使用較慢(重播作業)___HTMLTAG_220__HTMLTA12311212320___ ___HTMLTAG_224__HTMLTAG_225___磁碟 I/O___HTMLTAG_226__HTMLTAG_227___週期性突發(分叉)___HTMLTAG_228__HTMLTAG_229___連續(小寫入)___HTMLTAG_230__HTMLTAG131413230_____ ___HTMLTAG_234__HTMLTAG_235___檔案大小___HTMLTAG_236__HTMLTAG_237___緊湊____HTMLTAG_238__HTMLTAG_239___較大(重寫幫助)___HTMLTAG_240__HTMLTAG_241___兩個檔案(重寫幫助)___HTMLTAG_240__HTMLTAG_241___兩個檔案_ML ___HTMLTAG_244__HTMLTAG_245___最適合___HTMLTAG_246__HTMLTAG_247___快取(可接受的損失)___HTMLTAG_248__HTMLTAG_249___會話儲存(最小損失)___HTMLTAG_250_HTMLTAG_249___會話儲存(最小損失)___HTMLTAG_250_HTMLTAG_251____MLG1251______HT程式碼區塊_6
第 5 部分:快取策略
程式碼區塊_7
程式碼區塊_8
第 6 部分:應用程式連線
程式碼區塊_9
第 7 部分:監控
程式碼區塊_10
程式碼區塊_11
💡 重點
-
___HTMLTAG_270__HTMLTAG_271___Sentinel:簡單 HA,單主,適合 < 32GB datasets
___HTMLTAG_274__HTMLTAG_275___叢集:水平縮放,多主,適用於大型資料集
___HTMLTAG_278__HTMLTAG_279___持久性:用於生產的 RDB + AOF,平衡耐用性與效能
___HTMLTAG_282__HTMLTAG_283___maxmemory-policy:最受歡迎的用於快取的 allkeys-lru
___HTMLTAG_286__HTMLTAG_287___快取旁置:建議模式,寫入時無效
___HTMLTAG_290__HTMLTAG_291___監視器:快取命中率 > 90%、記憶體使用情況、驅逐
🎯 練習
練習 1:Redis 哨兵故障轉移
- 部署 Redis Sentinel 3 節點
- 向master寫入數據,殺死master pod
- 驗證 Sentinel 提升副本,資料完好__HTMLTAG_306___
練習 2:基準
- 執行 redis 基準測試:SET/GET 100,000 個鍵
- 比較延遲:有/沒有持久性__HTMLTAG_314___
- 監控記憶體碎片率
📚 下一篇文章
在第24課:Istio服務網格架構中,我們將學習服務網格並部署Istio進行微服務通訊。