你不知道的redis六-redis主从复制,因为该命令redis作者曾摊上事?

一、什么是主从复制

=========

主从复制就是我们建立数据存档的时候,将一份数据进行复制保存多分存储在不同的机器上。

二、为什么要用主从复制

===========

在redis持久化机制一文中,我们已经提到为了防止数据丢失,redis提供了RDB和AOF两种方式持久化数据,将内存的数据持久化到磁盘上。但是当出现服务器出现故障,比如服务磁盘坏掉导致数据不可恢复时。那又该怎么办呢?

那么为了避免单点故障,我们需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障其他服务器依然可以继续提供服务。这就要求当一台服务器上的数据更新后,自动将更新的数据同步到其他服务器上,这就是主从复制。

当我们主节点压力比较大时,那么我们可以通过读写分离的方式,对复制的节点数据进行读操作,以增加我们的服务性能

,总结来讲使用主从复制有以下原因

  1. 数据备份,容灾恢复

  2. 业务数据读写分离

三、redis主从复制实现

=============

redis实现主从很简单,只需要增加启动脚本或者配置文件中配置slaveof命令即可

1、启动命令


启动redis服务时,后面新增 redis-server --slaveof ip(主redisip) port。

该配置到5.0版本以上改为了 replicaof ,Redis 作者在 GitHub 上发起了一个“用其他词汇代替 Redis 的主从复制术语”的 issue因为有人认为 Redis 中的术语 master/slave (主人 / 奴隶)冒犯到了别人(果然歪果仁们对这还是敏感啊,哈哈),要求 Redis 作者 ANTIREZ 修改这个术语,甚至连 ruby on rails 的作者 DHH 都在表态。

2、配置文件新增


环境两台机器:148.70.47.76(主),111.229.169.46(从)

1、148.70.47.76直接启动redis

2、修改111.229.169.46redis配置,新增slaveof 148.70.47.76 6379 配置或者使用replicaof配置

5.0以上

3、启动111.229.169.46 的redis

4、查看148.70.47.76 redis状态,发现role 为master主节点,有一个从节点,从节点ip为111.229.169.46(该信息很重要,哨兵机制会用到)

查看111.229.169.46 redis状态,发现role 为slave从节点,有一个主节点,主节点ip为148.70.47.76.

3、Tips:


  • 配置主从为了安全性可以修改配置文件的masterauth属性来增加同步密码

  • 从节点建议用只读模式slave-read-only=yes, 若从节点修改数据,主从数据不一致**.**

  • 传输延迟:主从一般部署在不同机器上,复制时存在网络延时问题,redis 提供repl-disable-tcp-nodelay 参数决定是否关闭TCP_NODELAY,默认为关闭.参数关闭时:无论大小都会及时发布到从节点,占带宽,适用于主从网络好的场景.参数启用时:主节点合并所有数据成TCP 包节省带宽,默认为40 毫秒发一次,取决于内核,主从的同步延迟40 毫秒,适用于网络环境复杂或带宽紧张,如跨机房

四、主从复制原理

========

1、主要流程


redis主从主要流程如下:

redis的数据同步主要分为全量同步增量同步

先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以扫码领取!

img

写在最后

还有一份JAVA核心知识点整理(PDF):JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…

image

**,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…

[外链图片转存中…(img-D3Qe2M9A-1711490028108)]

需要更多Java资料的小伙伴可以帮忙点赞+关注,点击传送门,即可免费领取!

  • 29
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值