今天继续给大家介绍Redis相关知识,本文主要内容是Redis的主从同步高可用架构。
阅读本文,您需要有一定的Redis主从同步基础,如果您对此还存在困惑,欢迎您查阅我博客内的其他文章,相信您一定会有所收获!
文章链接:
Redis详解(六)——Redis主从同步原理与配置

一、Redis sentinel实现高可用原理

在Redis详解(六)——Redis主从同步原理与配置文中,我们介绍了Redis的主从同步的配置实现,Redis主从同步很好的解决了高并发量场景下单台Redis服务器无法应对的问题,通过将Redis的读写压力进行分流,实现多台Redis服务器共同承担读写压力的问题。
尽管Redis主从同步的架构非常有用,但是却存在这Redis主库失效时整个架构无法写入内容的问题,针对这种场景,我们引入了Redis的哨兵机制。Redis哨兵,即sentinel,是Redis自带的一种实现高可用集群的Redis主库单点故障的解决方案。sentinel既可以监控架构,又可以提供配置功能,当sentinel发现Redis主服务器失效时,可以将从服务器中的一个自动提升为Redis主库,并且配置其他的Redis从库指向新的Redis主库。但是,为了避免sentinel的单点故障,我们应当把多台运行sentinel的设备配置为sentinel集群,当多个sentinel节点发现redis主服务器离线时,才会进行Redis主库的切换,以此来避免误判和sentinel的单点故障。
Redis哨兵会自动监控Redis主库,并且从Redis主库中获取整体的架构信息,多个sentinel之间使用“留言协议”来接收其他sentinel的信息,并使用投票机制来决定是否进行Redis架构的故障切换和选择新的Redis主服务器。
在安装Redis时也会自动安装sentinel,Redis哨兵自身也含有配置文件,如果Redis是采用YUM的方式进行安装,则sentinel的配置文件是/etc/redis-sentinel.conf。

二、Redis sentinel实现高可用配置实战

下面,我就进行Redis哨兵sentinel实现高可用配置。

(一)实战环境

实战环境如下:
Redis主服务器:192.168.136.11
Redis从服务器兼sentinel:192.168.136.12
Redis从服务器:192.168.136.13

(二)Redis主从同步配置

有关Redis主从同步的配置方式比较简单,可以参考文章:Redis详解(六)——Redis主从同步原理与配置。在这里就不过多赘述了,当按照要求配置好Redis主从同步后,在主库上查看信息,发现如下所示:

(三)sentinel配置

首先,我们先修改sentinel的配置文件,打开/etc/redis-sentinel.conf文件后,找到bind位置,将原来在注释中的bind内容改为:

bind 0.0.0.0

另外,搜索找到sentinel monitor处,将其修改为:

sentinel monitor mymaster 192.168.136.11 6379 1

其中sentinel monitor为固定命令,mymaster为给sentinel监控的架构起的一个名字,该名字可以任意,后面的IP地址为该架构下Redis主库的IP地址,后面的端口为该Redis主库的端口,最后的1表示当有1个sentinel投票决定进行故障转移时有效。配置完成后,启动sentinel,命令为:

systemctl start redis-sentinel

如果启动成功,会自动监听本地的26379端口,如下所示:

我们可以以登录redis的方式登录sentinel,并查看当前sentinel的监控架构,结果如下所示:

执行命令:

sentinel masters

可以查看Redis主库的相关信息,如下所示:

执行命令:

sentinel slaves 【架构名】

可以查看该架构下的Redis从库相关信息,如下所示:

下面,我们停止掉Redis主库(192.168.136.11),等待一段时间后,查看其余两台Redis从库上的同步信息,如下所示:


显然,在Redis哨兵的作用下,Redis集群重新选择了192.168.136.13作为新的Redis主库,并且192.168.136.12指向了新的Redis主库,实验配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

Redis详解(七)——Redis主从同步高可用架构相关推荐

  1. MySQL 5.6通过Keepalived+互为主从实现高可用架构

    本文将介绍两台Mysql如何实现高可用架构.通常我们会配置主从同步,但这样若主的Mysql挂掉,还需要手动干预,例如把指向主库的IP地址修改为指向从库的IP,为了实现自动切换到从数据库,我们可以使用K ...

  2. haproxy keepalived_详解mycat+haproxy+keepalived搭建高可用负载均衡mysql集群

    概述 目前业界对数据库性能优化普遍采用集群方式,而oracle集群软硬件投入昂贵,mysql则比较推荐用mycat去搭建数据库集群,下面介绍一下怎么用mycat+haproxy+keepalived搭 ...

  3. mysql keepalived主从_mysql高可用架构之(一)基于自身主从复制&keepalived实现

    系统环境及架构 #主机名 系统版本 mysql版本 ip地址 mysqlMaster centos7.4 mysql5.7 192.168.1.42 mysqlSlave centos7.4 mysq ...

  4. redis集群方式及高可用架构

    Redis集群模式 1.主从模式,单台服务器即可,无高可用,为1主2从方式 主节点可读写,从节点只读,数据会从主节点同步至从节点 2.cluster模式 3.0以上版本支持 Redis Cluster ...

  5. mysql性能优化和高可用架构实践pdf_实践大于一切!Alibaba最新MySQL性能优化+高可用架构全彩版PDF...

    本篇的内容将会覆盖MySQL 5. 7数据库体系结构.InnoDB存储引擎.MySQL事务和锁.性能优化.服务器全面优化.性能监控.主从复制,以及PXC集群.MHA自动故障转移群集.MGR组复制.Ke ...

  6. 金仓数据库KingbaseES高可用概述(高可用架构与最大高可用性的特性)

    熟悉MAA解决方案中使用的高可用性特性以便基于架构进行调整.以下将对主要高可用架构进行图/文功能说明. ​​​​​​ 4.1. 高可用架构介绍 ¶ 4.1.1. KingbaseES 读写分离集群架构 ...

  7. 数据库应用——Redis详解

                                                                                         Redis详解 一.非关系型数 ...

  8. Redis数据库教程——系统详解学习Redis全过程

    Redis数据库教程--系统详解学习Redis全过程 Redis快速入门:Key-Value存储系统简介 Key-Value存储系统:     Key-Value Store是当下比较流行的话题,尤其 ...

  9. 33.Redis详解

    一 缓存概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度,在中间对速度较快的一方起到一个加速访问速度较慢的一方的作用,比如CPU的一级.二级缓存是保存了CPU最近经常访问的数据,内存是保存C ...

  10. Redis详解(1)--原理和机制

    一.性能 1 性能测试 测试环境: RHEL 6.3 / HP Gen8 Server/ 2 * Intel Xeon 2.00GHz(6 core) / 64G DDR3 memory / 300G ...

最新文章

  1. 【错误记录】TabLayout 升级支持库版本后报错 ( support:design 支持库升级到 28.0.0 后源码发生变更 )
  2. DotNet 开发团队图
  3. 使用GoldenGate进行平台迁移和数据库升级(9i-11g)步骤描述
  4. Git 在推送(Push)信息的时候提示git did not exit cleanly (exit code 1)的解决办法
  5. mysql_close6_关于mysql_close()函数的10篇文章推荐
  6. kmeans鸢尾花分类python代码_python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
  7. Maven3.0.5代理nexus
  8. 1.3求根之牛顿迭代法
  9. 种草!这只鹅虽然没有什么用,但是好可爱呀!
  10. 电池的寿命(信息学奥赛一本通-T1229)
  11. 求次方的c语言程序,C语言编程求13的13次方的最后三位数
  12. 西部数据绿盘、蓝盘、黑盘、红盘和紫盘有什么区别
  13. 微信公众平台开发(六) 翻译功能开发
  14. Python网络爬虫:爬取CSDN热搜数据 并保存到本地文件中
  15. 阿里最新秋招面经,腾讯/美团/字节1万道Java中高级面试题
  16. 爱奇艺自媒体平台如何入驻,被封怎么办?
  17. 嵌入式linux解决方法 | u-boot NFS下载文件报错:Loading: *** ERROR: File lookup fail
  18. 大学生职业规划:自我分析七步走
  19. STM32H743I-EVAL2_RTC_Tamper
  20. 手机+文件共享服务器软件,服务器文件共享软件

热门文章

  1. 解决了!联邦学习+推荐系统,冷启动和数据隐私问题双双K.O
  2. Python机器学习:通过scikit-learn实现集成算法
  3. 《linux核心应用命令速查》连载十一:pstree:显示进程状态树
  4. 二十一天学通C#:.NET中文件与文件夹的操作
  5. 二分法05:搜索旋转排序数组
  6. 77----空间直角坐标变换、平移、旋转、伸缩
  7. 铁子们,2019博客之星投票活动开始了!帮我投个票呗
  8. 深度学习中为什么要使用多于一个epoch?
  9. fatal: Not a git repository (or any parent up to mount point /home) Stopping at filesystem boundary
  10. Kotlin 函数(普通函数)