×

redis主从复制和集群配置

我的笔记 我的笔记 发表于2018-02-19 10:48:04 浏览3315 评论0

抢沙发发表评论

配置Redis主从复制和集群配置详解


1. 配置redis主从复制。

1.1. 应用场景

一般来说,要将Redis运用于工程项目中,只使用一台Redis是万万不能的,原因如下:

a) 从结构上,单个Redis服务器会发生单点故障,并且一台服务器需要处理所有的请求负载,压力较大;

b) 从容量上,单个Redis服务器内存容量有限,就算一台Redis服务器内存容量为256G,也不能将所有内存用作Redis存储内存,一般来说,单台Redis最大使用内存不应该超过20G。

1.2. 基本原理

电商网站上的商品,一般都是一次上传,无数次浏览的,说专业点也就是"多读少写"。

对于这种场景,我们可以使如下这种架构:

5) 步骤五,创建集群

创建集群的命令:

/usr/local/bin/redis-trib.rb create --replicas 1 192.168.153.164:7001 192.168.153.164:7002 192.168.153.164:7003 192.168.153.164:7004 192.168.153.164:7005 192.168.153.164:7006

##升级ruby

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3

curl -L get.rvm.io | bash -s stable

source /usr/local/rvm/scripts/rvm

rvm list known

rvm install 2.3.3

rvm use 2.3.3

rvm use 2.3.3 --default

ruby --version

6) 验证集群

redis-cli -c -h 192.168.153.164 -p 7001 其中-c表示以集群方式连接redis,-h指定ip地址,-p指定端口号

验证主节点异常时,备节点自动顶替主节点

redis主从复制和集群配置

redis主从复制和集群配置

杀死7002对应的进程,即让主节点7002异常,检查7005是否顶替成为主节点。

redis主从复制和集群配置

2.4. 集群的特点(1)所有的redis 节点彼此互联(PING-PONG 机制),内部使用二进制协议优化传输速度和带宽; (2)节点的fail 是通过集群中超过半数的节点检测失效时才生效; (3)客户端与redis 节点直连,不需要中间proxy 层。客户端不需要连接集群所有节点,连接集群中任何一 个可用节点即可; (4)redis-cluster把所有的物理节点映射到[0-16383]个slot(哈希槽)上,cluster 负责维护 node<->slot<->value 。

2.5. 集群选举容错

(1):什么时候整个集群不可用(cluster_state:fail)?  A:如果集群任意master 挂掉,且当前master 没有slave。集群进入fail 状态,也可以理解成集群的 slot 映射[0-16383]不完整时进入fail 状态。 ps : redis-3.0.0.rc1 加入 cluster-require-full- coverage 参数,默认关闭,打开集群兼容部分失败;  B:如果集群超过半数以上master 挂掉,无论是否有slave集群进入fail 状态。ps:当集群不可用时, 所有对集群的操作做都不可用,收到((error) CLUSTERDOWN The cluster is down)错误。

版权付亚东笔记博客所有,禁止转载!!付亚东Java笔记博客

我的笔记博客版权我的笔记博客版权