博客
关于我
redis的主从复制详解
阅读量:775 次
发布时间:2019-03-24

本文共 927 字,大约阅读时间需要 3 分钟。

一.主从复制简介

互联网的“三高”架构指的是高并发、高性能和高可用性。高并发意味着同时处理大量用户访问,高性能则要求系统运行效率极高,而高可用性则意味着系统在面临故障时仍能持续运作。

Redis的高可用性问题

Redis作为一个高性能的键值存储系统,存在以下问题:

  • 机器故障

    • 现象:硬盘故障或系统崩溃导致数据丢失。
    • 本质:可能对业务造成灾难性影响。
    • 结论:单机 Redis的风险较高,通常会放弃使用。
  • 容量瓶颈

    • 现象:内存不足导致性能下降,需要不断升级内存有限。
    • 本质:硬件资源有限,难以支持大规模业务发展。
    • 结论:需采取分布式策略,使用多台 Redis 服务器。
  • 为了高可用,建议使用多个 Redis 服务器(主从复制),数据互相复制,确保高可用性和数据冗余。

    二. 主从复制工作流程

    主从复制分为三个阶段:

  • 数据同步阶段

    主节点(Master)将数据实时复制到从节点(Slave),确保数据一致性。

  • 命令传输阶段

    主节点执行命令后,将为从节点传输该命令的结果,保持两节点完全一致。

  • 三. 主从复制案例

    方式1:命令配置方式

    手动在客户端发送命令:

    # master配置slaveof 

    方式2:启动参数方式

    # Slave启动时指定主节点redis-server -slaveof 

    方式3:配置文件方式

    #_slave配置文件中添加slaveof 

    四. 降临问题解答

    • 断开连接后不会丢失数据,仅停止接受-master的数据同步。
    • 权限设置:确保主从节点有正确的密码,防止未授权访问。

    五. 主从复制意义

  • 提升读写能力:分离读写负载,优化性能。
  • 负载均衡:多个从节点分担读取压力。
  • 故障恢复:主节点故障时,从节点接手服务。
  • 数据冗余:提供持久化备份,确保数据安全。
  • 高可用基础:支持哨兵模式和集群方案。
  • 六. 工作流程

  • 连接阶段:Slave与Master建立连接。
  • 同步阶段:Master复制数据到Slave。
  • 命令传播:确保两节点完全一致。
  • 七. 常见问题

    • 权限问题、数据不一致、连接持续等需注意。

    通过以上方案,优化后的系统可以实现高可用性和稳定的性能,符合互联网“三高”架构的需求。

    转载地址:http://jsakk.baihongyu.com/

    你可能感兴趣的文章
    ngrok内网穿透可以实现资源共享吗?快解析更加简洁
    查看>>
    NHibernate学习[1]
    查看>>
    NHibernate异常:No persister for的解决办法
    查看>>
    NIFI1.21.0_java.net.SocketException:_Too many open files 打开的文件太多_实际操作---大数据之Nifi工作笔记0051
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
    查看>>
    NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>