發生主備倒換的原因有哪些?
主(zhu)備倒換(huan)有(you)以下幾種可能(neng)的場景:
- 用戶自行從DCS控制臺界面發起“主備倒換”操作,切換主實例。
- DCS檢測到主備實例的主節點存在故障后,觸發實例“主備倒換”操作。
例如,使(shi)用了keys等消耗資源的命令(ling),導(dao)致CPU超(chao)高,觸發主(zhu)備導(dao)致。
- 用戶在DCS界面上執行重啟操作,可能觸發備節點升為主節點,即主備倒換。
- 單機、主備和讀寫分離實例在擴容過程中,會發生主備倒換。
擴(kuo)容過(guo)程中,實例會(hui)創建新規格的(de)節點作(zuo)為備節點,主節點數據全量(liang)(liang)+增(zeng)量(liang)(liang)同步到備節點后進(jin)行主備切換并(bing)刪除原節點,完(wan)成擴(kuo)容。
發生(sheng)主備倒換(huan)(huan)后(hou),系統(tong)會上報主備倒換(huan)(huan)事件(jian),收到該事件(jian)通(tong)知后(hou),請查看客戶(hu)端業(ye)務否(fou)存在異常,如果(guo)業(ye)務不正常,則(ze)需要確認客戶(hu)端tcp連接(jie)是否(fou)正常,是否(fou)支(zhi)持在主備倒換(huan)(huan)后(hou)重新建(jian)立tcp連接(jie)恢復業(ye)務。
主備倒換的業務影響
DCS主備(bei)或者集群實例發(fa)生異(yi)(yi)常時,會觸發(fa)內(nei)部主備(bei)倒換,并自動(dong)恢復(fu),在異(yi)(yi)常檢(jian)測和(he)恢復(fu)期間,可能(neng)會影響業務,時間在半(ban)分鐘內(nei)。
主備實例發生主備倒換后是否需要客戶端切換IP?
不需要。主節(jie)點(dian)故(gu)障后,IP地(di)址綁定到備節(jie)點(dian),綁定后,原備節(jie)點(dian)升(sheng)級為主節(jie)點(dian)。
Redis主備同步機制怎樣?
Redis主(zhu)備(bei)(bei)(bei)實(shi)例即(ji)主(zhu)從實(shi)例。一(yi)般情況下(xia),Redis主(zhu)節(jie)(jie)(jie)(jie)(jie)點(dian)的(de)(de)更新(xin)會(hui)自動復制到(dao)關聯的(de)(de)備(bei)(bei)(bei)節(jie)(jie)(jie)(jie)(jie)點(dian)。但由于Redis異步復制的(de)(de)技術,備(bei)(bei)(bei)節(jie)(jie)(jie)(jie)(jie)點(dian)更新(xin)可能會(hui)落后于主(zhu)節(jie)(jie)(jie)(jie)(jie)點(dian)。例如,主(zhu)節(jie)(jie)(jie)(jie)(jie)點(dian)的(de)(de)I/O寫入速(su)(su)度超過了備(bei)(bei)(bei)節(jie)(jie)(jie)(jie)(jie)點(dian)的(de)(de)同步速(su)(su)度,或者因異常(chang)原因導(dao)致的(de)(de)主(zhu)節(jie)(jie)(jie)(jie)(jie)點(dian)和備(bei)(bei)(bei)節(jie)(jie)(jie)(jie)(jie)點(dian)的(de)(de)網(wang)絡延遲,使得備(bei)(bei)(bei)節(jie)(jie)(jie)(jie)(jie)點(dian)與主(zhu)節(jie)(jie)(jie)(jie)(jie)點(dian)存在滯后或者部分數(shu)據不(bu)一(yi)致,若(ruo)此(ci)時進行主(zhu)備(bei)(bei)(bei)切換,未及時完成(cheng)同步的(de)(de)少量數(shu)據可能會(hui)丟(diu)失(shi)。