Redis教程

11-redis集群

本文主要是介绍11-redis集群,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

redis集群搭建

# 搭建三主三从redis集群
# redis5.0提供了集群快速搭建
# 修改脚本文件: redis/utils/create-cluster目录下的create-cluster脚本文件

--bind $IP --masterauth $PWD --requirepass $PWD --protected-mode no



# 启动
  ./create-cluster start

# 查看进程
   ps -ef|grep redis

# 创建集群节点
   ./create-cluster create

# 关闭集群
    ./create-cluster stop

# 连接工具连接集群

redis集群搭建

一主可以多从,如果同时的访问量过大(1000w),主服务肯定就会挂掉,数据服务就挂掉

集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。 当请求到来首先由负载均衡服务器处理,把请求转发到另外的一台服务器上。

redis集群可以分为两个方面,软件层面的redis集群指的是只有一台电脑,在这一台电脑上启动了多个redis服务,也就是主从式的。硬件层面的redis集群指的是存在多台实体的电脑,每台电脑上都启动了一个redis或者多个redis服务

注意:每台服务器必须启动要3个或以上的主节点,否则在创建集群时会失败,并且当存活的主节点数小于总节点数的⼀半时,整个集群就⽆法提供服务了

  1. 配置主服务器
    创建三个配置文件,修改配置内容

port 7001
bind 192.168.157.136
daemonize yes
pidfile 7001.pid
cluster-enabled yes
cluster-config-file 7001_node.conf
cluster-node-timeout 15000
appendonly yes

使用三个配置文件启动redis服务,并关闭防火墙

  1. 配置从服务器
    与上面配置方式一样,配置好启动redis服务,并关闭防火墙

  2. 创建集群
    在主服务器上执行创建集群的指令
    redis-cli --cluster create 192.168.157.136:7001 192.168.157.136:7002 192.168.157.136:7003 192.168.157.137:7001 192.168.157.137:7002 192.168.157.137:7003 --cluster-replicas 1

  3. 数据存取

根据上图可以看出,当前搭建的主服务器为136:7001、137:7001、136:7002,对应的从服务器是137:7003、136:7003、137:7002
在192.168.157.137机器上连接7002,加参数-c表示连接到集群redis-cli -h 192.168.157.137 -c -p 7002并写入数据,发现自动跳转到136:7002服务上

重定向到7002可以获取数据,如果写入数据又重定向到7001, 目的是为了负载均衡

集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各⾃的数据和整个集群的状态。每个节点都和其他所有节点连接,⽽且这些连接保持活跃,这样就保证了我们只需要连接集群中的任意⼀个节点,就可以获取到其他节点的数据

Redis集群采⽤hash slot的⽅式来分配数据的。redis cluster 默认分配了 16384 个slot,当我们 set⼀个key时,会⽤CRC16算法来取模得到所属的slot,然后将这个key 分到哈希槽区间的节点上

Redis 集群会把数据存在⼀个 master 节点,然后在这个 master 和其对应的salve 之间进⾏数据同步。当读取数据时,也根据⼀致性哈希算法到对应的 master节点获取数据。只有当⼀个master 挂掉之后,才会启动⼀个对应的 salve 节点,充当master

这篇关于11-redis集群的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!