Redis入门(五) --- redis集群的概念,如何搭建,工作流程

本文介绍了Redis集群的引入原因,如容量扩展和并发写操作的处理。详细讲解了如何搭建Redis集群,包括制作六个实例、合成集群及集群登录。讨论了集群的插槽分配、数据录入与查询、故障恢复策略以及集群的优缺点。
摘要由CSDN通过智能技术生成


Redis笔记:

  1. Redis入门(一)— 五种基本数据类型
  2. Redis入门(二)— redis新增数据类型,jedis操作redis,springboot整合redis
  3. Redis入门(三)— 可视化工具,发布订阅,事务管理,持久化RDB,AOF基本概念
  4. Redis入门(四)— 主从复制,哨兵机制

11、Redis集群

11.1 集群的引入

当一个Redis服务器容量不够用的时候,如何进行扩容?

当并发写操作时,由于只能一主多从,一个Redis服务器用来写显然会不够用,怎么进行分摊?

在没出现集群之前,是通过代理主机来实现的:

image-20211216153235703

缺点:

  • 这种方式需要多出两台服务器作为代理服务器的主机和从机

  • 同时如果代理服务器挂掉了,就无法再进行服务了

在redis3.0之后,提出了集群的思想:无中心化集群配置

image-20211216153516030

优点:

  • 无中心化:可以访问任意一台服务器,服务器将不是自己该处理的转交给下一个服务器
  • 水平扩容:即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。
  • 分区提供可用性:及时有一块节点down掉了,集群也可以用其他的节点提供服务

11.2 怎么搭建集群

以下演示是在同一台服务器不同端口,实际上开发时集群的各个实例处于不同服务器上

首先把持久化数据删掉:rdb,aof文件都删掉

11.2.1 制作六个实例:

6379对6389,6380对6390,6381对6391

修改基本配置:

  • 开启daemonize yes

  • pid文件名字

  • 指定端口

  • Log文件名字

  • dump.rdb名字

  • appendonly 关掉或者换名字

新增集群配置:redis cluster

cluster-enabled yes    				#打开集群模式
cluster-config-file nodes-6379.conf #设定节点配置文件名
cluster-node-timeout 15000   		#设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换。

最后配置文件如下:

include /myredis/redis.conf
pidfile /var/run/redis_6379.pid
port 6379
dbfilename dump6379.rdb
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000

拷贝生成其他5个conf

进入vim,使用vim里的%s/6379/63xx进行一键替换

启动服务:

image-20211216160542540

11.2.2 将六个节点合成一个集群:

组合之前,请确保所有redis实例启动后,nodes-xxxx.conf文件都生成正常。

image-20211217100017066

需要进入之前的安装目录下的src目录cd /opt/redis-6.2.6/src,需要redis-trib.rb环境,所以只能在当前目录下运行

image-20211217100454808

该目录下有redis-trib.rb,所以直接运行redis-cli --cluster create --cluster-replicas 1

redis-cli --cluster create --cluster-replicas 1 192.168.11.101:6379 192.168.11.101:6380 192.168.11.101:6381 192.168.11.101:6389 192.168.11.101:6390 192.168.11.101:6391
  • 此处ip地址不要用localhost,127.0.0.1,要用真实的IP地址
  • –replicas 1 表示采用最简单的方法配置集群,一主一从,上面有三组

11.2.3 如何用集群的方式登录主机:

设立集群方式后就不能用往常的方法登录主机了

需要使用redis-cli -c -h 主机地址 -p 端口号方式登录,此处-c代表用集群方式连接

image-20211217101459969

通过cluster nodes查看集群信息

image-20211217102012863
redis cluster如何分配这六个节点?

一个集群至少要有三个主节点

选项 -

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值