首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Redis主从复制+哨兵机制

Redis主从复制+哨兵机制

作者头像
星哥玩云
发布2022-08-18 19:22:19
发布2022-08-18 19:22:19
3690
举报
文章被收录于专栏:开源部署开源部署

1、Redis主从复制

(1)概述:

    redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。

    通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。

  (2)主从复制过程:

  过程:

    1:当一个从数据库启动时,会向主数据库发送sync命令,

    2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来

    3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。

    4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。

2、配置redis主从复制  

  (1)准备三台虚拟机(共同存在redis-5.0.7中redis.conf文件)
   (2)修改2台从机redis.conf文件中replicaof的IP地址
   (3)分别连上redis库
   (4)主机写入,从机同时更新,从机只读,若想写入可修改conf文件属性
   (5)主机信息
   (6)从机信息

3、哨兵机制 

  Redis的哨兵(sentinel) 系统用于管理多个 Redis 服务器,该系统执行以下三个任务:

    · 监控(Monitoring): 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常。

    · 提醒(Notification):当被监控的某个 Redis出现问题时, 哨兵(sentinel) 可以通过 API 向管理员或者其他应用程序发送通知。

    · 自动故障迁移(Automatic failover):当一个Master不能正常工作时,哨兵(sentinel) 会开始一次自动故障迁移操作,它会将失效Master的其中一个Slave升级为新的Master, 并让失效Master的其他Slave改为复制新的Master; 当客户端试图连接失效的Master时,集群也会向客户端返回新Master的地址,使得集群可以使用Master代替失效Master。

  哨兵(sentinel) 是一个分布式系统,你可以在一个架构中运行多个哨兵(sentinel) 进程,这些进程使用流言协议(gossipprotocols)来接收关于Master是否下线的信息,并使用投票协议(agreement protocols)来决定是否执行自动故障迁移,以及选择哪个Slave作为新的Master.

  每个哨兵(sentinel) 会向其它哨兵(sentinel)、master、slave定时发送消息,以确认对方是否”活”着,如果发现对方在指定时间(可配置)内未回应,则暂时认为对方已挂(所谓的”主观认为宕机” Subjective Down,简称sdown).

  若“哨兵群”中的多数sentinel,都报告某一master没响应,系统才认为该master"彻底死亡"(即:客观上的真正down机,Objective Down,简称odown),通过一定的vote算法,从剩下的slave节点中,选一台提升为master,然后自动修改相关配置.

  虽然哨兵(sentinel) 释出为一个单独的可执行文件 redis-sentinel ,但实际上它只是一个运行在特殊模式下的 Redis 服务器,你可以在启动一个普通 Redis 服务器时通过给定 --sentinel 选项来启动哨兵(sentinel).

  哨兵(sentinel) 的一些设计思路和zookeeper非常类似

  单个哨兵(sentinel)

4、配置redis哨兵机制

  (1)准备三台虚拟机(共同存在redis-5.0.7中redis.conf文件)
   (2)修改随便一台从机sentinel.conf文件中replicaof的属性
   (3)启动哨兵模式
  (4)切掉主机,哨兵模式自动选取master
  (5)恢复之前的主机,默认变为从机
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Redis主从复制
    • (1)概述:
    •   (2)主从复制过程:
  • 2、配置redis主从复制  
    •   (1)准备三台虚拟机(共同存在redis-5.0.7中redis.conf文件)
    •    (2)修改2台从机redis.conf文件中replicaof的IP地址
    •    (3)分别连上redis库
    •    (4)主机写入,从机同时更新,从机只读,若想写入可修改conf文件属性
    •    (5)主机信息
    •    (6)从机信息
  • 3、哨兵机制 
  • 4、配置redis哨兵机制
    •   (1)准备三台虚拟机(共同存在redis-5.0.7中redis.conf文件)
    •    (2)修改随便一台从机sentinel.conf文件中replicaof的属性
    •    (3)启动哨兵模式
    •   (4)切掉主机,哨兵模式自动选取master
    •   (5)恢复之前的主机,默认变为从机
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档