redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式

redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片


文章目录

    • 简单概念铺垫
      • 什么是主从复制
      • “主从复制” ,存在即合理
      • 使用简明教程
    • 不说了,来吧
    • 问题来啦
    • 哨兵模式

简单概念铺垫 在redis.conf中对主从复制有专门的长篇大论,不过是英文。
但是,我翻译好了:点此传送至:redis.conf翻译与配置(二)
啰嗦几句啊。如果看完redis.conf,可以直接跳过下面的,直接打开redis,开始探索之旅。
什么是主从复制
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

在Redis集群中,让若干个Redis服务器去复制另一个Redis服务器,我们定义被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave),这种模式叫做主从复制模式。
数据流向是单向的,只能是从master到slave 一个slave只能有一个master

“主从复制” ,存在即合理
【redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式】为数据提供多个副本,实现高可用(容灾备份)
实现读写分离(主机负责写数据,从机负责读数据,主机定期把数据同步到从机保证数据的一致性)
使用简明教程
1)配主不配从
2)配置命令:SLAVE 主机IP 主机Port
每次与主机断开之后,都要重新连接,除非修改配置文件。
3)详细操作
1.拷贝多个redis.conf文件 2.开启daemonize yes 3.pid文件名字 4.指定端口 5.log文件名字 6.dump.rdp名字

不说了,来吧 1)打开三个redis端口
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

2)配置三份conf文件
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

第一份6379:
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

用于复制出2、3
第二份6380:
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

第三份6381不再赘述。
3)打开三个redis服务器,并连接
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片
另外两个客户端自行打开。
4)查看各机状态,此时还都是主机
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

5)配从(将6380、6381挂在主机6379上)
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

6381记得挂
再查看主机状态:
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

6)验证主从复制
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

问题来啦 1)切入点问题:slave1、slave2是从切入时开始复制还是从头开始复制
答:全量复制,大家可以做下测试。
2)从机是否可写?
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

3)主机挂了呢?从机是趁机上位还是原地待命?
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

哦,从机还是从机,它就算有“不臣之心”,它也不知道“主子”已经先走一步了。
4)立马扶持一个从机上位
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

注意看,它是没有从机的,原先旧主的老部下可是不会跟着它走的。
5)旧主回归,旧臣是否依旧追随?
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

当然,那个自立门户的是不会主动回来了。
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

6)从机挂了呢?
挂了就挂了呗,什么时候想回来就回来呗。
7)手动不嫌麻烦吗?
当然麻烦,那就往下看:
哨兵模式 redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

这里的哨兵有两个作用:
通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。 当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。

然而一个哨兵进程对Redis服务器进行监控,可能会出现问题,为此,我们可以使用多个哨兵进行监控。各个哨兵之间还会进行监控,这样就形成了多哨兵模式。
这些都是后话,咱先把一个搞好吧。
1)打开一个新终端
2)哨兵文件:
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

3)创建一个哨兵专属配置文件
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

4)配置该文件
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

如果要监视多个主机,那就多写几行。
最后那个1是票数
5)哨兵站岗
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

6)主机挂掉之后
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

7)原主机回来了
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

还不错吧,不过这里面有什么弊端,下次再说咯。
先剧透一下:中心化与去中心化。
天色已晚咯,各位不点个赞加关注吗?跟着博主不迷路
redis|【redis】跟我一起动手玩玩redis主从复制和哨兵模式
文章图片

    推荐阅读