redis主從哨兵和集群的區別


一、架構不同

  redis主從:一主多從;

  redis集群:多主多從;

二、存儲不同

  redis主從:主節點和從節點都是存儲所有數據;

  redis集群:數據的存儲是通過hash計算16384的槽位,算出要將數據存儲的節點,然后進行存儲;

三、選舉不同

  redis主從:通過啟動redis自帶的哨兵(sentinel)集群進行選舉,也可以是一個哨兵

    選舉流程:1、先發現主節點fail的哨兵,將成為哨兵中的leader,之后的主節點選舉將通過這個leader進行故障轉移操作,從存活的slave中選舉新的master,新  的master選舉同集群的master節點選舉類似;

  redis集群:集群可以自己進行選舉

    選舉流程:1、當主節點掛掉,從節點就會廣播該主節點fail;

         2、延遲時間后進行選舉(延遲的時間算法為:延遲時間+隨機數+rank*1000,從節點數據越多,rank越小,因為主從數據復制是異步進行的,所以  所有的從節點的數據可能會不同),延遲的原因是等待主節點fail廣播到所有存活的主節點,否則主節點會拒絕參加選舉;

         3、參加選舉的從節點向所有的存活的節點發送ack請求,但只有主節點會回復它,並且主節點只會回復第一個到達參加選舉的從節點,一半以上的主節點回復,該節點就會成為主節點,廣播告訴其他節點該節點成為主節點。

四、節點擴容不同

  redis主從:只能擴容從節點,無法對主節點進行擴容;

  redis集群:可以擴容整個主從節點,但是擴容后需要進行槽位的分片,否則無法進行數據寫入,命令為:

    /usr/local/redis-5.0.3/src/redis-cli -a zhuge --cluster reshard 192.168.0.61:8001,其中的192.168.0.61:8001為新加入的主從節點;
 
集群文檔:https://note.youdao.com/ynoteshare/index.html?id=174eaa7104ce961f8012d521d8155bd9&type=note&_time=1640409730693?auto
主從文檔:https://note.youdao.com/ynoteshare/index.html?id=893c138fa39925f86b374fd46db322b4&type=note&_time=1640411361803


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM