Redis集群搭建(非常详细)

发布时间:2023-09-23 14:30

https://blog.csdn.net/qq_42815754/article/details/82912130

redis集群搭建

在开始redis集群搭建之前,我们先简单回顾一下redis单机版的搭建过程

  1. 下载redis压缩包,然后解压压缩文件;

  2. 进入到解压缩后的redis文件目录(此时可以看到Makefile文件),编译redis源文件;

  3. 把编译好的redis源文件安装到/usr/local/redis目录下,如果/local目录下没有redis目录,会自动新建redis目录;

  4. 进入/usr/local/redis/bin目录,直接./redis-server启动redis(此时为前端启动redis);

  5. 将redis启动方式改为后端启动,具体做法:把解压缩的redis文件下的redis.conf文件复制到/usr/local/redis/bin目录下,然后修改该redis.conf文件->daemonize:no 改为daemonize:yse;

  6. 在/bin目录下通过./redis-server redis.conf启动redis(此时为后台启动)。 综上redis单机版安装启动完成。 具体详细带图步骤请参考 -> redis入门 请原谅我的啰嗦,ok,接着咱们回到本次话题----redis集群搭建!

一、Redis Cluster(Redis集群)简介

  • redis是一个开源的key value存储系统,受到了广大互联网公司的青睐。redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,我这里用的是redis3.0.0版本;

  • redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点;

  • redis集群是没有统一的入口的,客户端(client)连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例;

  • 为了实现集群的高可用,即判断节点是否健康(能否正常使用),redis-cluster有这么一个投票容错机制:如果集群中超过半数的节点投票认为某个节点挂了,那么这个节点就挂了(fail)。这是判断节点是否挂了的方法;

  • 那么如何判断集群是否挂了呢? -> 如果集群中任意一个节点挂了,而且该节点没有从节点(备份节点),那么这个集群就挂了。这是判断集群是否挂了的方法;

  • 那么为什么任意一个节点挂了(没有从节点)这个集群就挂了呢? -> 因为集群内置了16384个slot(哈希槽),并且把所有的物理节点映射到了这16384[0-16383]个slot上,或者说把这些slot均等的分配给了各个节点。当需要在Redis集群存放一个数据(key-value)时,redis会先对这个key进行crc16算法,然后得到一个结果。再把这个结果对16384进行求余,这个余数会对应[0-16383]其中一个槽,进而决定key-value存储到哪个节点中。所以一旦某个节点挂了,该节点对应的slot就无法使用,那么就会导致集群无法正常工作。

  • 综上所述,每个Redis集群理论上最多可以有16384个节点。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号