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

    你可能感兴趣的文章
    Pomelo开发中Web客户端开发API简介
    查看>>
    QT教程2:QT5的体系构架
    查看>>
    PON架构(全光网络)
    查看>>
    PoolingHttpClientConnectionManager原理剖析
    查看>>
    QT教程1:ubuntu18.04安装QT5
    查看>>
    POP-一个点击带有放大还原的动画效果
    查看>>
    POP3 协议在计算机网络中的优缺点
    查看>>
    qt批量操作同类型控件
    查看>>
    Portaudio笔记-WASAPI
    查看>>
    position:fixed失效情况
    查看>>
    Qt开发笔记:QGLWidget、QOpenGLWidget详解及区别
    查看>>
    Position属性四个值:static、fixed、absolute和relative的区别和用法
    查看>>
    POSIX thread编程中关于临界区内条件变量的分析
    查看>>
    POSIX与程序可移植性
    查看>>
    posix多线程有感--自旋锁
    查看>>
    SpringBoot中集成海康威视SDK实现布防报警数据上传/交通违章图片上传并在linux上部署(附示例代码资源)
    查看>>
    POSIX标准和XSI扩展
    查看>>
    post install error,please remove node_moules before retry
    查看>>
    postcss-pxtorem 参数之selectorBlackList、exclude的用法
    查看>>
    Postek博思得标签打印机更换电脑,打印出来标签空白
    查看>>