Redis之主从集群搭建¶
千里之行,始于足下。
Author:李东阳
1、什么是Redis的主从集群¶
Redis的主从集群是一个”一主多从“的读写分离集群.集群中的Master节点负责客户端的读写请求,而Slave节点负责客户端读请求。之所以要将集群搭建为读写分离模式,主要是因为,对于数据库集群,写操作压力一般较小,读压力更大。所以只有一个节点负责处理写请求操作即可。
2、伪集群搭建与配置¶
在采用单线程IO模型时,为了提高处理器的利用率,一般会中一个主机上安装多台Redis,构建一个Redis主从伪集群。当然,伪集群的场景主要是学习Redis。
下面要搭建的读写分离伪集群包含一个Master和两个Slave。它们的端口号分别对应的是:6380,6381,6382.
2.1、复制redis.conf文件¶
在redis安装目录下mkdir一个名称为cluster的目录。然后将redis.conf文件复制一份到该目录下。改文件后面会被其他配置文件包含,所以该文件中需要设置每个Reids节点相同的公共的属性。
2.2、修改redis.conf文件¶
2.2.1、masterauth¶
因为我们要搭建主从集群,且每台主机读有可能会是Master,所以最好设置密码验证属性requirepass。如果真需要设置,一定要每个主机的密码都设置为相同的。此时每个配置文件中都要设置两个完全相同的属性:requirepass与msterauth。其中requirepass用于指定当前主机访问密码,而masterauth用于指定当前slave于master时提交的访问密码,用于让master验证自己的身份是否合法。
2.2.2、repl-disable-tcp-nodelay¶
- tcp-nodelay是个什么东西:
我们应该知道,为了降低网络带宽,TCP在进行数据传输时,总是希望发送尽可能的大数据块。所以,TCP中使用了名为Nagle算法。这个算法会数据缓存到一定的大小后在打包发送。
- repl-disable-tcp-nodelay参数的配置:
该属性用于设置算法禁用TCP特性tcp-nodelay。设置为yes时则禁用(即将数据缓存到一定大小在发送),此时master于slave间的通信会产生延迟,但是使用的TCP包数量会减小,网络带宽较少。no则反之。注意:当主从级数较多时,建议设置为no,防止数据延迟。
2.3、具体的搭建¶
参考文章:
http://t.csdnimg.cn/Fjyhw