redis(集群一)主从复制

一、主从复制原理

主从复制工做流程html

  1. 从服务器链接主服务器,发送SYNC命令。
  2. 主服务器接收到SYNC命令后,开始执行bgsave命令生成RDB文件并使用缓冲区记录此后执行的全部命令
  3. 主服务器bgsave执行完成后,向全部服务器发送快照文件,并在发送期间继续记录被执行的写命令
  4. 从服务器接收到快照数据后丢弃所的有旧数据,载入收到以的快照
  5. 主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令
  6. 从服务器完成对快照的载入,开始接收命令请求,并执行来自主服务器缓冲区的写命令(从服务器初始化完成)
  7. 主服务器每执行一个写命令就会向从服务器发送相同的写命令,从服务器接收并执行收到的写命令(从服务器初始化完成后的操做)

主从复制优缺点:前端

优势:redis

  1. 支持主从复制,主机会自动将数据同步到从机,能够进行读写分离
  2. 为了负载master的读操做压力,slave服务器能够为客户端提供只读操做的服务,写服务仍然必须由master来完成
  3. slave 一样能够接受其它slave的链接和同步请求,这样能够有效的分载master 的同步压力
  4. master是以非阻塞的方式为slave提供服务,因此master-slave同步期间,客户端仍然能够提交查询和修改请求。
  5. slave server一样是以非阻塞的方式未完成数据同步,在同步期间,若是有客服端提交查询请求,redis则返回同步以前的数据。

缺点:服务器

  1. redis 不具有自动容错和恢复功能,主机和从机的宕机都会致使客户端部分读写请求的失败,须要等待机器重启或手动切换前端的IP才能恢复
  2. 主机宕机,宕机前有部分数据未能同步到从机,切换IP后还会引发数据不一致的问题下降了系统的可用性。
  3. redis较难支持在线扩容,在集群容量达到上限时在线扩容变得复杂。

二、主从搭建

主从复制的经常使用的几种方式

  1. 一主二仆 A(B、C) 一个Master两个Slave
  2. 薪火相传(去中心化)A - B - C ,B既是主节点(C的主节点),又是从节点(A的从节点)
  3. 反客为主(主节点down掉后,手动操做升级从节点为主节点)

1)一主二仆 A(B、C) 一个Master两个Slave

一、节点redis不须要修改配置 spa

主节点服务器IP:192.168.244.1283d

二、改从节点配置server

添加配置:slaveof 192.168.244.128 6379htm

从节点IP:192.168.244.130   192.168.244.131blog

三、分别重启主从服务器,验证get

主服务器info replication:

image

显示有两个从节点,主节点set值 ,从节点能够get 获得

从服务器info replication:

image

2)薪火相传(去中心化)A - B – C

如上配置: 192.168.244.130 添加配置: slaveof 192.168.244.128 6379

               192.168.244.131 添加配置: slaveof 192.168.244.130 6379

3)反客为主(一仆二主模式)

一、关闭主节点后从节点info replication:

image

此时从节点仍是只读的

二、执行命令slaveof no one 升为主节点:

image

升为主节点后可读可写。

参照:http://www.javashuo.com/article/p-wscvvdqc-bk.html

        http://www.javashuo.com/article/p-dryzgtmh-bb.html

相关文章
相关标签/搜索