簡體   English   中英

如何測試Redis集群

[英]how to test redis cluster

我有一個具有3個主服務器的Redis集群。 我對數據持久性不感興趣,因為這是一個緩存解決方案。 我在Windows上運行v3.2。 當我手動停止其中一台服務器以查看是否仍然可以訪問數據庫時,出現“ CLUSTERDOWN群集已關閉錯誤”。 甚至要做到這一點,我必須連接到仍在工作的實例之一。 我看不出這是如何實現高可用性的解決方案。 我希望我缺少一些東西。 有什么想法為什么當一個節點發生故障時我無法訪問群集? 謝謝。

群集創建命令:ruby.exe redis-trib.rb創建127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002

正如您說的那樣,您在Redis Cluster中使用了3個主節點,因此可以清楚地看到,如果其中一個節點將關閉, CLUSTERDOWN出現CLUSTERDOWN錯誤。

為了避免這些類型的錯誤,並獲得高可用性,它能夠更好地擁有奴隸連接到那些你的主節點(如圖官方的Redis集群教程這里 )。

將主服務器與從屬服務器連接以獲得更高的可用性是有原因的。 為此,您可以閱讀上述Redis集群教程鏈接中提到的這些行。

Redis集群中有16384個哈希槽,要計算給定密鑰的哈希槽,我們只需對密鑰的CRC16取模16384。

Redis群集中的每個節點都負責哈希槽的一個子集, 因此,例如,您有一個包含3個節點的群集,其中:

1)節點A包含從0到5500的哈希槽。

2)節點B包含從5501到11000的哈希槽。

3)節點C包含從11001到16383的哈希槽。

因此,每當您用於在Redis集群中SET密鑰時,它都會為該密鑰計算其哈希槽值,並相應地將密鑰保存在節點之一中。 這就是在Redis Cluster中強制所有節點(至少主節點或一個從節點)處於活動狀態的原因。

如果將每個主節點上的至少一個從屬節點附加到Redis群集中,您將獲得更好的Redis群集可用性。 將從屬節點附加到主節點后,您可以通過手動關閉任何主節點來測試設置的可用性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM