Redis实现主从复制(Master&Slave)

Redis主从复制

1.是什么

1.单机有什么问题:

单机故障

容量瓶颈

qps瓶颈

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

2.能干嘛

1.读写分离

2.容灾备份

3.怎么玩

玩法原则:

1.配从不配主

2.使用命令 SLAVEOF 动态指定主从关系 ,如果设置了密码,关联后使用 config set masterauth 密码

3.配置文件和命令混合使用时,如果混合使用,动态指定了主从,请注意一定要修改对应的配置文件

1.新建redis8000,redis8001,redis8002文件夹

2.将redis.conf文件复制在redis8000下

3.分别修改个目录下的redis.conf文件

redis8000/redis.conf

1.bind 192.168.0.104 指定本机ip

2.port 8000

3.daemonize yes

4.pidfile /var/run/redis_8000.pid

5.dir /myredis/redis8000

6.requirepass 123456

4.把redis8000/redis.conf文件复制到redis8001,redis8002下

redis8001/redis.conf

  1. :%s/8000/8001/g 批量替换

  2. replicaof 192.168.0.104 8000

  3. masterauth 123456

redis8002/redis.conf

5.分别启动8000.8001,8002实例

  1. :%s/8000/8002/g 批量替换

  2. replicaof 192.168.0.104 8000

  3. masterauth 123456

[root@localhost myredis]# /usr/local/bin/redis-server /myredis/redis8000/redis.conf [root@localhost

myredis]# /usr/local/bin/redis-server /myredis/redis8001/redis.conf [root@localhost myredis]#

/usr/local/bin/redis-server /myredis/redis8002/redis.conf

6.客户端连接

/usr/local/bin/redis-cli -h 192.168.0.104 -p 8000 -a 123456

/usr/local/bin/redis-cli -h 192.168.0.104 -p 8001 -a 123456

/usr/local/bin/redis-cli -h 192.168.0.104 -p 8002 -a 123456

4.全量复制消耗

1.bgsave时间 2.rdb文件网络传输 3.从节点请求请求数据时间 4.从节点加载rdb的时间 5.可能的aof重写时间

5.缺点

1.由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延

迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。

2.当主机宕机之后,将不能进行写操作,需要手动将从机升级为主机,从机需要重新制定master

简单总结:

一个master可以有多个Slave

一个slave只能有一个master

数据流向是单向的,只能从主到从

猜你喜欢

转载自blog.csdn.net/yueyunyin/article/details/108447573