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


现在我们的集群就架构完成了.

原文地址:https://www.cnblogs.com/trekxu/p/8734181.html