dede網(wǎng)站seoseo難不難學(xué)
Redis集群雖然具備高可用特性,且能實(shí)現(xiàn)自動(dòng)故障恢復(fù),但是如果使用不當(dāng),也會(huì)存在一些問題,總結(jié)如下。
- 集群完整性問題
- 集群帶寬問題
- 數(shù)據(jù)傾斜問題
- 客戶端性能問題
- 命令的集群兼容性問題
- Lua和事務(wù)問題
1.集群完整性問題
在 Redis 集群的默認(rèn)配置下,當(dāng)節(jié)點(diǎn)檢測到存在至少一個(gè)哈希槽未被覆蓋,即無可用節(jié)點(diǎn)為其提供服務(wù)時(shí),會(huì)停止接受查詢操作。例如,在某些復(fù)雜網(wǎng)絡(luò)環(huán)境或硬件故障場景中,若部分節(jié)點(diǎn)出現(xiàn)故障或網(wǎng)絡(luò)分區(qū),導(dǎo)致部分哈希槽失去服務(wù)節(jié)點(diǎn),整個(gè)集群便會(huì)陷入不可用狀態(tài)。像電商促銷活動(dòng)期間,若因服務(wù)器負(fù)載過高致使部分節(jié)點(diǎn)宕機(jī),進(jìn)而影響哈希槽覆蓋,就可能使整個(gè) Redis 集群無法響應(yīng)業(yè)務(wù)請求,嚴(yán)重影響用戶購物體驗(yàn)。
然而,在實(shí)際應(yīng)用中,有時(shí)我們期望正在運(yùn)行的集群子集能夠持續(xù)接受針對仍被覆蓋鍵空間部分的查詢。此時(shí),可通過將 cluster-require-full-coverage 選項(xiàng)設(shè)置為 no 來實(shí)現(xiàn)。這一設(shè)置能確保即便集群部分受損,其余正常節(jié)點(diǎn)仍可為