博客
关于我
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/

    你可能感兴趣的文章
    mysql 常用命令
    查看>>
    Mysql 常见ALTER TABLE操作
    查看>>
    MySQL 常见的 9 种优化方法
    查看>>
    MySQL 常见的开放性问题
    查看>>
    Mysql 常见错误
    查看>>
    mysql 常见问题
    查看>>
    MYSQL 幻读(Phantom Problem)不可重复读
    查看>>
    mysql 往字段后面加字符串
    查看>>
    mysql 快照读 幻读_innodb当前读 与 快照读 and rr级别是否真正避免了幻读
    查看>>
    MySQL 快速创建千万级测试数据
    查看>>
    mysql 快速自增假数据, 新增假数据,mysql自增假数据
    查看>>
    MySql 手动执行主从备份
    查看>>
    Mysql 批量修改四种方式效率对比(一)
    查看>>
    mysql 批量插入
    查看>>
    Mysql 报错 Field 'id' doesn't have a default value
    查看>>
    MySQL 报错:Duplicate entry 'xxx' for key 'UNIQ_XXXX'
    查看>>
    Mysql 拼接多个字段作为查询条件查询方法
    查看>>
    mysql 排序id_mysql如何按特定id排序
    查看>>
    Mysql 提示:Communication link failure
    查看>>
    mysql 插入是否成功_PDO mysql:如何知道插入是否成功
    查看>>