015 redis集群
一 .概述
在之前我们使用主从复制的模式实现了一种高可用的模式.
但是这里面有一些问题,主从服务器的数据量过大的时候,主从模式就出现了问题.
在redis3.x之后,出现了集群模式,使用分片的模式将数据拆分到多个redis实例之中.
我们可以理解为数据的水平拆分.
最初我们可以将业务数据放置到一个主从服务器之中,随之而来的使用数据的垂直拆分.
将不同的业务数据放置到不同的主从之中.
当数据量变得更大的时候,我们就需要进行水平拆分了.
其实一般情况下,我们进行垂直拆分就已经足够了 .
其实增加硬件就能完成当下的问题了 .
多个复制集承担业务数据就是redis的集群.
二 .分片的概念
将数据按照一定规则放置到不同的实例之中,这样redis的实例之中只包含一部分的数据.
其实,在一定的条件下垂直拆分可能会更好.
常见的数据分片的方式有两种:
[1]客户端分片
[2]服务器端分片
redis采用的就是哈希槽在服务器端的分片方式.
服务端分片一般来使用起来就比较简单了.
三 .redis集群使用的注意点
[1]使用集群之后,所有的数据库只能使用默认的0号数据库.
其实一般我们也都只是使用0号数据库.
[2]redis集群之中的服务器需要两个端口号来实现集群,一个是redis的服务的端口号,另外一个是
端口号加10000,作为集群的环路IP,用来实现集群内的信息的传递.
[3]接群中的节点失效是由集群中半数投票决定.
[4]客户端可以与任何一个redis节点进行交互,就可以实现与集群中任何一个节点进行交互.
四 .创建redis集群
我们在这里实现一个伪集群就好了 .
[1]创建伪集群的配置文件目录
[2]向每一个文件夹之中配置一个redis.conf文件夹
[3]修改每一个配置文件.
修改的内容:
(1)port --端口号
(2)pidfile--进程文件
(3)开启集群模式
(4)修改集群配置文件
以上这些配置完就可以了 .
[4]下载ruby工具
命令一 : yum -y install ruby ruby-devel rubygems rpm-build
命令二 : gem install redis
就完成了ruby的安装了.
但是现在出现了一个问题:
ruby的版本太低了.
使用命令 :
[1] gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
[2] curl -L get.rvm.io | bash -s stable
[3] source /usr/local/rvm/scripts/rvm
[4] rvm install 2.3.3 ---安装ruby的新版本
[5] rvm use 2.3.3 --default 设置默认版本
[6] rvm remove 2.0.0 卸载旧版本
紧接着我们重新执行gem install redis 命令 .
现在我们开始架构集群.
在源码的配置文件寻找到
.以后我们就使用这个配置文件进行集群的架构.
使用ruby架构集群的命令为 :
ruby redis-trib.rb create --replicas 1 127.0.0.1:8001 127.0.0.1:8002 127.0.0.1:8003 127.0.0.1:8004 127.0.0.1:8005 127.0.0.1:8006
现在我们的集群就架构完成了.