zoukankan      html  css  js  c++  java
  • redis08----集群

    集群的作用:
    1.主从备份,防止主机宕机
    2.读写分离,主服务器写,从服务器内容跟着主服务器,主服务器变他就变,读就从从服务器读。减轻主服务器的负担。
    3.任务分离,比如消耗cpu和内存的操作,交给从服务器。
    
    Redis功能强大操作简洁。主从集群的配置比mysql要简单很多。

    第一种的坏处是,主down了,要把slave1变成master,并且还要把slave2指向skave1。
    
    第二种的好处是,主down了,只要把slave1变成master就可以了。

     

    Slave一启动发现有一个master,就会自动的连过去,然后开始同步,master开始dump出rdb这个内存镜像给slave,在dump出rdb的过程中有新的命令过来就会缓存到aof里面,dump完了之后就把aof的缓冲同步过来。之后只要master变了就会通过replicationFeedSlaves进程通知slave来更新。
    6379做主master,6378,6377做slave, (redis的版本要一致)
    Pkill -9 redis //杀掉所有的进程
    
    星型的布局:
    
    1个Master配置:
    1:关闭rdb快照(备份工作交给slave),把耗时的io操作交给从服务器。(也可以打开防止同步失败,只是消耗cpu和内存)
    2:可以开启aof(防止同步失败,只是消耗cpu和内存)
    
    2个slave配置:
    打开 slaveof <masterip> <masterport>:slaveof 127.0.0.1 6379   //2个slave都指向一个master
    linux上面要各使各的pid文件(winsows没有)
    pidfile /var/run/redis6377.pid
    pidfile /var/run/redis6378.pid
    pidfile /var/run/redis6379.pid
    
    slave-read-only yes   //只读状态
    
    
    1: 声明slave-of
    2: 配置密码[如果master有密码]:
    主需要# requirepass foobared,从加密码# masterauth <master-password>
    3: [某1个]slave打开 rdb快照功能
    
    
    这样主从服务器就配置好了。
    往从服务器写是不行的,是readonly的。
    
    
    缺陷:
    每次salave断开后,(无论是主动断开,还是网络故障)
    再连接master
    
    都要master全部dump出来rdb,再aof,即同步的过程都要重新执行1遍.
    
    所以要记住---多台slave不要一下都启动起来,否则master可能IO剧增。甚至可以把redis拖垮。
  • 相关阅读:
    正则表达式分组()、不捕获(?:)和断言(?<=)详解
    正则匹配IP
    正则匹配中文
    SPL--Serializable
    JavaScript中原型和原型链
    JavaScript中变量和函数声明的提升
    运行gulp提示:Task function must be specified
    vue-router 去掉#
    学以致用 ---- vue子组件→父组件通信
    删除node_modules
  • 原文地址:https://www.cnblogs.com/yaowen/p/8278906.html
Copyright © 2011-2022 走看看