• redis主从复制(master/slave)


    一、是什么

      也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,master以写为主,slave以读为主。主要用来读写分离和容灾恢复。

     二、怎么玩

        1、配从(库)不配主(库)。

      2、从库配置:slaveof 主库ip 主库端口:每次与主机(master)断开之后,都需要重新连接,除非你配置进redis.conf配置文件。查看redis的主从关系:info replication

      3、修改配置文件细节操作:3.1 拷贝多个redis.conf文件。3.2 开启daemonize yes。3.3 pid文件名字。3.4 指定端口。 3.5 log文件名。3.6 dump.rdb名字

      4、常用三招:

      4.1 一主多仆:一个master多个slave。

      4.2 薪火相传:上一个slave可以是下一个slave的master,slave同样可以接收其他slaes的连接和同步请求,那么该slave作为了链条中下一个的master,可以有效减轻master的写压力。中途变更转向:会清楚之前的数据库,重新建立拷贝最新的,slaveof 新主库ip 新主库端口

      4.3 反客为主:slaveof no one 使当前数据库停止与其他数据库的同步,转成主数据库。

    三、复制原理

      slave启动成功连接到master后会发送一个sync命令,master接到命令启动后台的存盘进程,同时收集所有接受到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一个完全同步。

      全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。

      增量复制:master继续将新的所有收集到的修改命令依次传给slave,完成同步。

      但是只要是重新连接master,一次完全同步(全量复制)将被自动执行。

    四、哨兵模式(sentinel)(反客为主的自动版)

      反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换成主库。

    4.1 使用步骤

      a. 在你的配置文件的目录下建立sentinel.conf文件,名字绝不能错。

      b.配置哨兵,填写内容:sentinel monitor 被监控的数据库名字(自己起名字) 127.0.0.1 6379 1

      上面的最后一个数字1,表示主机挂掉后slave投票看让谁接替成为主机,得票数多少后成为主机。

      c.启动哨兵:redis-sentinel sentinel.conf。

      d.原有的master挂了,会通过投票新选出新的master。当原的master恢复回来的时候,原的master就变成slave。

    4.2 一组 sentinel能同时监控多个master

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

      

      

      

  • 相关阅读:
    C#读写设置修改调整UVC摄像头画面-曝光
    C#读写调整修改设置UVC摄像头画面-逆光对比
    C#读写修改设置调整UVC摄像头画面-清晰度
    C#读写设置修改调整UVC摄像头画面-对比度
    C#读写调整设置UVC摄像头画面-亮度
    C#采集UVC摄像头画面并支持旋转和分辨率切换
    一张图看懂SharpCamera
    C#混音同时录制采集声卡和麦克风话筒
    C#采集麦克风话筒声音
    Windows下安装Redis服务
  • 原文地址:https://www.cnblogs.com/Hxinguan/p/10231160.html
Copyright © 2020-2023  润新知