Redis Cluster集群的搭建

原文:http://blog.andsky.com/quercus-php-ngame/

1、安装ruby相关因

1.1在线安装

yum install rubygems -y

gem install redis --version=3.0.6

图片 1

1.2离线安装脚本

及传离线压缩包,解压,运行install.sh脚本即可

图片 2

图片 3

 

经过半年的开支,我们率先慢慢悠悠手游戏终于开发了,架构下了  class=”wp_keywordlink_affiliate”>netty +
Quercus 实现用  class=”wp_keywordlink_affiliate”>php 通过
websocket 与客户端通信。

路落得丝近乎一个月,基本稳定。而且无在性能方面问题,之前以内网测试,pc
机 4G 内存,在线 1000 人,没有卡动感觉。 这个累

字足以满足我们的要求, 想就此 Quercus 大胆的用吧,到 4.0.39
相应会又宏观,希望支持 Quercus 的大多起,与  class=”wp_keywordlink_affiliate”>hhvm 的盛程度

正是是没法比。

2、配置运行6只redis服务

2.1先创建3个目录

图片 4

2.2创立布局文件(总共7单,1公6私)

 图片 5

用欠公文发送到Windows桌面进行重复命名,修改

预先以redis.conf重命名为redis-commons.conf(公共的),然后新建txt,命名吧继缀为.conf文件

图片 6

redis-commons.conf中改的地方,修改为如下即可

图片 7

 创建6单个人配置文件

redis-6379.conf(私有配置文件母版,需要将拖欠公文再次复制修改5单)

图片 8

接下来用7只公文上传如下目录

图片 9

 

运行

专注:先关单节点的redis

图片 10

继启动6只Redis服务

 图片 11

起先成功

图片 12

3、通过ruby脚本创建集群

 3.1  复制ruby脚本至安装路径

图片 13

3.2  创建集群

图片 14

M:Master主服务

S:slave从服务

图片 15

4、测试集群

 检测集群

图片 16

redis-cli测试

 图片 17

至今,redis集群搭建好。。。。。

注意:

汇众多中足足该发单数独节点,所以至少有三单节点,每个节点至少有一个备份节点,(主节点、备份节点由redis-cluster集群确定)。并且当现有的主节点数小于总节点数的一半时不时,整个集群就无法提供劳动了。

redis集群搭建原理:

redis是单线程,但是一般的作为缓存使用以来,redis足够了,因为它的读写速度极抢了。

      官方的一个简单测试:

      测试成功了50个并发执行100000个请求

      设置以及得之价值是一个256配节字符串。

      结果:读之快慢是110000次/s,写的进度是81000次/s 

 

redis
cluster在设计的时光,就考虑到了去中心化,去中间件,也就是说,集众多被的每个节点都是均等之涉及,都是针对顶之,每个节点都保留各自的多少与周集群的状态。每个节点都跟另有节点连接,而且这些连保持活跃,这样即便保证了咱们仅需要连续集众多中之肆意一个节点,就足以博到其它节点的多寡。

Redis
集群没有并行使传统的一致性哈希来分配数据,而是采用另外一种名叫哈希槽 (hash slot)的点子来分配的。

redis cluster 默认分配了 16384 个slot,当我们set一个key
时,会用CRC16算法来取模得到所属的slot,然后以此key
分到哈希槽区间的节点上,具体算法就是:CRC16(key) % 16384。所以我们在测试的时候看到set 和 get 的时候,直接跳转到了7000端口的节点。

Redis 集群会见将数据是一个 master 节点,然后在斯 master
和该相应的salve
之间开展数据并。当读取数据时,也根据一致性哈希算法到相应的 master
节点获取数据。只有当一个master 挂掉后,才见面启动一个遥相呼应之 salve
节点,充当 master 。