108_redis如何实现了主从复制

什么是redis主从复制?
  好几台服务器联合起来工作。其中一台服务器是主服务器,用来进行写操作。其他的从服务器用来做读操作。主从复制就是要保证
这些服务器上数据库的一致性。

1、一台redis服务模拟三台主机:
1)、拷贝三份redis配置文件,并且修改相应配置信息:
  port 6379
  pidfile /var/run/redis_6379.pid
  logfile redis6379.log
  dbfilename dump6379.rdb
2)、启动三台redis服务:
  redis-server redis6379.conf &
  redis-server redis6380.conf &
  redis-server redis6381.conf &
3)、分别使用三个客户端连接三台redis服务:
  redis-cli -p 6379(6379被我们设置成了主服务器)
  redis-cli -p 6380
  redis-cli -p 6381
4)、查看三台redis服务的主从关系:info replication
  redis刚启动,都是master,没有从库连接。
2、在6379上写数据:
  set k1 v1
3、建立redis服务之间的主从关系:
  在6380上执行:slaveof 127.0.0.1 6379
  在6381上执行:slaveof 127.0.0.1 6379
  从库会把主库上的所有数据都复制过来----全量复制。
4、在6379上写数据
  set k2 v2
  从库会把主库上的所有新增数据都复制过来---增量复制。
5、在6380和6381上写数据:
  set k3 v3----报错,因为这两个服务器是从服务器,只能读,不能写
6、主机宕机:
  关闭6379服务(模拟宕机):redis-cli -p 6379 shutdown
  在6380和6381上执行:info replication
  从机原地待命。
7、主机恢复:redis-server redis6379.conf &
  一切正常
8、从机宕机:
  关闭6380服务:redis-cli -p 6380 shutdown
  主机减少一个从机,其它从机不变。
9、从机恢复:redis-server redis6380.conf &
  自动变为主机,需要重新建立主从关系。
  slaveof 127.0.0.1 6379
10、从机上位:
  1)、主机宕机:
    在6379上执行:redis-cli -p 6379 shutdown
    从机原地待命。
  2)、寻找上位从机:6380
    断开原来的主从关系:slaveof no one
  3)、重新设置主从关系:
    在6381上执行:slaveof 127.0.0.1 6380
  4)、原来的主机恢复:redis-server redis6379.conf &
    变成孤家寡人。
  5)、天堂变地狱:让主机成为从机的从机
    在6379上执行:slaveof 127.0.0.1 6381

一台主机配置多台从机,一台从机又配置多态从机,从而形成一个庞大的集群架构。
11、哨兵模式:从机上位的自动版。
  1)、搭建一主二从、主写从读、读写分离
  2)、提供哨兵监控配置文件:创建文件redis_sentinel.conf
    编辑内容:sentinel monitor dc-redis 127.0.0.1 6379 1
  3)、启动哨兵服务:
    redis-sentinel redis_sentinel.conf
  4)、主机宕机:
    在6379上执行:redis-cli -p 6379 shutdown
    自动启动哨兵投票机制,自动选择从机上位。
  5)、原来主机恢复:
    redis-server redis6379.conf &
    自动从属于新的主机。

posted on 2020-04-14 18:57  十年磨三劍  阅读(122)  评论(0编辑  收藏  举报

导航