Redis的主从集群搭建与配置

这篇具有很好参考价值的文章主要介绍了Redis的主从集群搭建与配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Redis主从集群模式

Redis的集群模式

  1. 主从复制模式:利用主从复制原理,一主多从架构。读写分离,主节点可读可写,从节点只能提供读服务。
  2. 哨兵模式:哨兵实现了自动化的故障恢复,哨兵节点是特殊的redis节点,不存储数据。哨兵监控整个redis集群。
  3. Cluster 模式:实现了 Redis 的分布式存储,也就是说每台 Redis 节点上存储不同的内容。

Redis 的主从集群是一个“一主多从”的读写分离集群。集群中的 Master 节点负责处理客户端的读写请求,而 Slave 节点仅能处理客户端的读请求。只所以要将集群搭建为读写分离模式,主要原因是,对于数据库集群,写操作压力一般都较小,压力大多数来自于读操作请求。所以,只有一个节点负责处理写操作请求即可。

下面要搭建的读写分离伪集群包含一个 Master 与两个 Slave。它们的端口号分别是:6380、6381、6382。

搭建过程

  1. 在Redis目录下新建一个目录cluster(意为集群),并把Redis目录下的redis.conf文件复制到cluster目录下。
    Redis的主从集群搭建与配置

  2. 修改redis.conf文件

  • masterauth
    因为我们要搭建主从集群,且每个主机都有可能会是 Master,所以最好不要设置密码验证属性 requirepass。如果真需要设置,一定要每个主机的密码都设置为相同的。此时每个配置文件中都要设置两个完全相同的属性:requirepass 与 masterauth。其中 requirepass 用于指定当前主机的访问密码,而 masterauth 用于指定当前 slave 访问 master 时向 master 提交的访问密码,用于让 master 验证自己身份是否合法。
    Redis的主从集群搭建与配置

  • repl-disable-tcp-nodelay
    该属性用于设置是否禁用 TCP 特性 tcp-nodelay。设置为 yes 则禁用 tcp-nodelay。
    Redis的主从集群搭建与配置

什么是tcp-nodelay:

​ 由于每个TCP报文包括除了要发送的数据部分,还有固定长度20字节的TCP首部。当数据部分太小会使网络带宽的利用率下降。为了充分复用网络带宽,TCP 总是希望发送尽可能大的数据块。为了达到该目的,TCP 中使用了一个名为 Nagle 的算法。

​ Nagle 算法的工作原理是,网络在接收到要发送的数据后,并不直接发送,而是等待着数据量足够大(由 TCP 网络特性决定)时再一次性发送出去。这样,网络上传输的有效数据比例就得到了大大提升,无效数据传递量极大减少,于是就节省了网络带宽,缓解了网络压力。

​ 详见:TCP的Nagle算法和delayed ack

有了上面的背景知识,我们就能理解repl-disable-tcp-nodelay配置了。如果设置为yes,表示禁用tcp-nodelay,也就是Redis的主从节点之间在通信时没有TCP协议为了充分利用网络带宽带来的延迟。换句话说,如果主从节点之间流量流动很大,最好设置为yes。

  1. 新建 redis638x.conf文件(x为0,1,2,3······)
    以redis6380.conf为例,文件内容如下:
    Redis的主从集群搭建与配置
include redis.conf
pidfile /var/run/redis_6380.pid
port 6380
dbfilename dump6380.rdb
appendfilename appendonly6380.aof
replica-priority 90

# logfile access6380.log

redis6381.conf文件只需把上面内容所有的6380改成6381即可。最后结果如下:
Redis的主从集群搭建与配置

  1. 启动所有节点
    虽然这三个节点以及启动,但是这三个节点之间并没有主从关系。
    Redis的主从集群搭建与配置

  2. 设置主从关系
    打开三个会话框,分别使用客户端连接三台 Redis。然后通过 slaveof 命令,指定 6380的 Redis 为 Master。

  1. 查看状态信息
    使用 info replication 命令查看各个节点的状态信息。

分级管理

若 Redis 主从集群中的 Slave 较多时,它们的数据同步过程会对 Master 形成较大的性能压力。此时可以对这些 Slave 进行分级管理。

Redis的主从集群搭建与配置

设置方式很简单,只需要让低级别 Slave 指定其 slaveof 的主机为其上一级 Slave 即可。不过,上一级 Slave 的状态仍为 Slave,只不过,其是更上一级的 Slave。

容灾冷处理

在 Master/Slave 的 Redis 集群中,若 Master 出现宕机怎么办呢?有两种处理方式,一种是通过手工角色调整,使 Slave 晋升为 Master 的冷处理;一种是使用哨兵模式,实现 Redis集群的高可用 HA,即热处理。

无论 Master 是否宕机,Slave 都可通过执行 slaveof no one 命令将自己由 Slave 晋升为 Master。如果其原本就有下一级的 Slave,那么,其就直接变为了这些 Slave 的真正的 Master 了。而原来的 Master 也会失去这个原来的 Slave。文章来源地址https://www.toymoban.com/news/detail-449573.html

到了这里,关于Redis的主从集群搭建与配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis——主从复制+集群搭建(非哨兵)

    主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower); 数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave 以读为主。 默认情况下,每台Redis服务器都是主节点,且一个主节点可以有多个

    2024年02月12日
    浏览(31)
  • 使用Docker搭建Redis主从集群

    欢迎来到 请回答1024 的博客 🍓🍓🍓欢迎来到 请回答1024的博客 关于博主 : 我是 请回答1024 ,一个追求数学与计算的边界、时间与空间的平衡,0与1的延伸的后端开发者。 博客特色 : 在我的博客中,开设了如下专栏( 点击可以进入专栏奥~ ): Java、MySQL、Redis、Spring、SpringB

    2024年04月24日
    浏览(42)
  • Redis7搭建主从+集群三主三从主从关系由集群分配

    三台虚拟机,一台虚拟机搭建两个redis 且两个不同的端口 命令 mkdir cluster 不要用 --mkdir /cluster 加这 斜杠 / 就会报错,因为 斜杠 是在根目录下创建目录 或者用 mkdir -p /myredis/cluster 创建树形目录 redisCluster6381.conf配置信息 redisCluster6382.conf配置信息 redisCluster6383.conf配置信息 red

    2023年04月10日
    浏览(44)
  • 搭建Redis主从集群+哨兵+代理predixy

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 搭建了一个 Redis 服务器集群(主从复制+哨兵模式+代理),实现了主从配置和容灾部署,使得主机出现故障时,可自动进行容灾切换,现详细记录下搭建过程

    2024年02月02日
    浏览(62)
  • redis搭建主从集群模式+整合springboot

    建议先看教程哦!! 最简单的,最常见的模式。 在主从复制中,数据库分为两类: 主数据库(master) 从数据库(slave) 其中主从复制有如下** 特点 **: 主数据库 可以进行 读写 操作,当读写操作导致数据变化时会自动将数据同步给从数据库 复制的数据流是单向的,只能由主节点

    2024年01月20日
    浏览(29)
  • Redis 主从配置、哨兵、集群模式

    目录 Redis 主从复制  主从复制的作用: 主从复制流程: 搭建Redis 主从复制 安装 Redis 环境准备 修改内核参数 安装redis 创建redis工作目录 环境变量 定义systemd服务管理脚本 修改 Redis 配置文件(Master节点操作) 修改 Redis 配置文件(Slave节点操作) 验证主从效果 Redis 哨兵模式

    2024年02月12日
    浏览(57)
  • Linux Redis主从复制 | 哨兵监控模式 | 集群搭建 | 超详细

    4.1 环境部署 4.2 安装Redis(主从服务器) 4.3 修改Master节点Redis配置文件 (192.168.163.100) 4.4 修改Slave节点Redis配置文件 (192.168.163.110 192.168.163.120) 4.5 验证结果 5.1 哨兵模式的原理 5.2 哨兵模式的作用 5.3哨兵模式的结构 哨兵结构由两部分组成, 哨兵节点 和 数据节点 : 哨兵节点:

    2023年04月14日
    浏览(44)
  • Redis主从复制、哨兵模式、集群模式的搭建与springboot集成

    Redis有三种模式:分别是主从同步/复制、哨兵模式、Cluster 主从复制 :主从复制是高可用Redis的基础,哨兵和群集都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单故障恢复。 缺陷:故障恢复无法自动化,写操作无

    2024年02月02日
    浏览(46)
  • Redis从入门到精通(十三)Redis分布式缓存(一)RDB和AOF持久化、Redis主从集群的搭建与原理分析

    单机Redis存在四大问题: 1)数据丢失问题; 2)并发能力问题; 3)故障恢复问题; 4)存储能力问题。 而Redis分布式缓存,即基于Redis集群来解决单机Redis存在的问题: 1)数据丢失问题:实现Redis数据持久化; 2)并发能力问题:搭建主从集群,实现读写分离; 3)故障恢复问

    2024年04月12日
    浏览(37)
  • 搭建redis主从,哨兵配置,集成到springboot中配置读写分离

    文章介绍Ubuntu系统搭建redis,并完成主从的读写分离配置,为主节点搭建三台哨兵服务,并集成到springboot中。 本篇文章是通过其他优秀博文学习后,用作学习记录使用。 大佬博客: https://blog.csdn.net/Wei_Naijia/article/details/125704197 https://blog.csdn.net/lssqk/article/details/127220990 1.Ubunt

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包