掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
在大量企業(yè)應(yīng)用服務(wù)器環(huán)境中,Redis是一種非常流行的內(nèi)存數(shù)據(jù)庫,它為企業(yè)提供了一個強(qiáng)大的內(nèi)存存儲解決方案。由于Redis的性能卓越,眾多企業(yè)為滿足企業(yè)服務(wù)的性能和可用性的要求,都會選擇Redis集群來構(gòu)建。

Redis集群是一種緊密耦合的多節(jié)點(diǎn)系統(tǒng),它在多個節(jié)點(diǎn)上拓展了特定業(yè)務(wù)應(yīng)用,改善了網(wǎng)絡(luò)性能,提高了可用性。在應(yīng)用Redis集群的同時,用戶也要遵守一個原則:Redis集群不能被拆分。
原因有三:
1)破壞Redis集群的穩(wěn)定性。如果Redis集群被拆分,它會破壞原有的哈希環(huán)平衡,節(jié)點(diǎn)不夠穩(wěn)定,已實(shí)現(xiàn)的高可用性的集群模式會失效。
2)Redis集群分割會影響分片。Redis集群實(shí)現(xiàn)分片所需要的是連續(xù)性,拆分Redis集群可能會使拆分的碎片不是連續(xù)的,從而影響分片。
3)破壞Redis集群管理模型。如果將一個完整的Redis集群拆分為幾個小集群,則將會破壞Redis如管理和操作的一致性。
即使用戶想要擴(kuò)容Redis集群,也不應(yīng)該去拆分Redis集群。最常用到的方法是添加節(jié)點(diǎn),以便對Redis集群進(jìn)行擴(kuò)展。這樣可以避免拆分Redis集群而影響性能。下面給出一段示例代碼:
CROSSSLOT 10 #添加新節(jié)點(diǎn)
CLUSTER REPLICATE node3 10 #將新節(jié)點(diǎn)添加到集群
CLUSTER ADDSLOTS 10 #重新分片
CLUSTER RESET #重置狀態(tài)
從上面可以看出,Redis集群從不支持將集群拆分為多個大小不一的小集群。所以,如果想使用Redis集群來實(shí)現(xiàn)業(yè)務(wù),用戶應(yīng)該牢記一點(diǎn):Redis集群的永遠(yuǎn)不會被拆分!
成都網(wǎng)站建設(shè)選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設(shè)計(jì),高端小程序APP定制開發(fā),成都網(wǎng)絡(luò)營銷推廣等一站式服務(wù)。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流