• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
流白的日记
博客园    首页    新随笔    联系   管理    订阅  订阅

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
posted @ 2021-12-25 13:42  流白的日记  阅读(12015)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3