zoukankan      html  css  js  c++  java
  • Redis主从复制

    1.是什么?

      主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,master以写为主,slave以读为主。

    2.能干嘛?

      ①读写分离

      ②容灾恢复

    3.复制三个配置文件并修改

    daemonize yes
    pidfile xxxxx
    port xxxx
    logfile    xxxx
    dbfilename

    3.如何设置主从关系?

      首先,配从(库)不配主(库),可以通过info replication命令查看当前库的主从信息,默认为主库。

      可以对从库通过slaveof 主库ip 主库端口 命令连接到主库。

      可以通过slaveof no one 将当前Redis停止与其他Redis之间同步,转为主库。(中途变更转向,会清除之前的数据,重新建立最新的)

    4.复制原理

      ①从库启动成功后会连接到主库后发送一条同步命令

      ②主库接收到命令后启动后台的存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕之后,主库将传送整个数据文件到从库以完成一次完全同步。

      ③从库服务在接收到主库数据文件后将其存盘并加载到内存中。(全量复制)

      ④主库继续将新的所有收集到的修改命令依次传送给从库进行同步。(增量复制)

      ⑤只要是重新连接主库,全量同步将被自动执行。

    5.哨兵模式(Sentinel)

      通过前面简单的主从配置,主节点Master 只有一个,一旦主节点挂掉之后,从节点没法担起主节点的任务,那么整个系统也无法运行。如果主节点挂掉之后,从节点能够自动变成主节点,那么问题就解决了,于是哨兵模式诞生了。

      哨兵模式是反客为主的自动版本,能够在后台监控主机是否故障,如果出现了故障,哨兵将根据投票数自动将从库转化为主库,并让其他从机和新主机建立主从关系。

    搭建步骤:

      ①、在配置文件目录下新建 sentinel.conf 文件(文件名不能错),配置相应内容。  

    sentinel monitor 被监控机器的名字(自己起名字) ip地址 端口号 得票数

      得票数是指主库挂掉后,从库开始投票,得票数多少后成为主机。

      ②启动哨兵开始监控

    redis-sentinel /etc/redis/sentinel.conf

    6.主从复制的缺点

      复制延时:

        由于所有的写操作都是在主库上操作然后同步更新到从库上,所以从主库同步到从库机器上有一定的延时,当系统繁忙的时候,延迟问题会更加严重,从库机器数量的增加也会使这个问题更加严重。

      

      

      

      

  • 相关阅读:
    SQL Server控制语句
    MATLAB中取整函数(fix, floor, ceil, round)的使用
    MATLAB程序设计
    Thinking In Java<<Java编程思想>>
    Boost::bimap
    MySQL学习随笔1
    Boost 1_42_0在windows下的编译及其设置
    MySQL执行mysql脚本及其脚本编写
    Pygame介绍
    Erlang
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/10438496.html
Copyright © 2011-2022 走看看