Redis-3-主从复制及优化

1.什么是Redis主从复制?

将一台Redis主服务器的数据定期同步复制到从Redis从服务器中来保证数据的一致性。

2.为什么要主从复制?

单机的Redis存在的问题,容量瓶颈,机器故障,QPS瓶颈。(QPS:Redis:读11万次/秒,写8万次/秒)
一台服务器已经满足不了大型网站的需求的。

我们对读写能力进行扩展,采用读写分离的方式解决性能的瓶颈,运行从服务器接收主服务器的数据,通过网络准实时更新。主服务器负责写功能,从服务负责读功能。

3.怎么去实现主从复制?

主从复制实现方式:

命令方式

slaveof ip port #实现
slaveof no one #取消

配置方式:

slaveof ip port
slave-read-only yes

配置主节点文件

端口号:6380
rdb文件名:dump-6380.rdb
rdb文件存储目录: ./data

配置从节点文件

端口:6381
rdb文件名:dump-6381.rdb
rdb文件存储目录:./data
配置所属主节点: slaveof 127.0.0.1 6380

主从复制常见问题和优化:

1.读写分离:读流量分摊到从节点。
可能问题:
复制数据延迟,读到过期数据,从节点故障。

2.主从配置不一致
可能问题:
maxmemory不一致,丢失数据
数据结构优化参数(hash-max-ziplist-entries),内存不一致

3.规避全量复制
第一次全量复制
节点运行id不匹配
复制积压缓冲区不足

4.规避复制风暴
复制风暴:主节点重启后,多个从节点会从主节点复制数据。
复制拓扑:
定义服务器和数据的复本之间的关系,并阐明决定数据在服务器之间的流动方式的逻辑。

单主节点复制风暴
问题:主节点重启,多从节点复制
解决:更换复制拓扑

单机器复制风暴
问题:机器宕机后,大量全量复制
解决:主节点分散多机器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Docker搭建Redis主从复制,你需要按照以下步骤进行操作: 1. 首先,确保你已经安装了Docker。如果没有,请先安装Docker。 2. 创建一个用于主节点的Redis容器。在终端中运行以下命令: ``` docker run -d --name redis-master -p 6379:6379 redis ``` 这将在后台运行一个名为redis-master的Redis容器,并将其映射到本地的6379端口。 3. 创建两个用于从节点的Redis容器。在终端中运行以下命令: ``` docker run -d --name redis-slave1 redis docker run -d --name redis-slave2 redis ``` 这将在后台分别运行两个名为redis-slave1和redis-slave2的Redis容器。 4. 获取主节点的IP地址。运行以下命令以获取主节点容器的IP地址: ``` docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis-master ``` 记下这个IP地址,稍后将在配置从节点时使用。 5. 配置从节点连接到主节点。首先,进入第一个从节点容器: ``` docker exec -it redis-slave1 redis-cli ``` 然后,运行以下命令设置从节点连接到主节点: ``` slaveof <主节点IP地址> 6379 ``` 将`<主节点IP地址>`替换为步骤4中获取的主节点IP地址。 6. 重复步骤5,配置第二个从节点连接到主节点: ``` docker exec -it redis-slave2 redis-cli slaveof <主节点IP地址> 6379 ``` 7. 现在,你已经成功配置了Redis主从复制。你可以通过连接到任何一个从节点,并在其中执行命令来验证复制是否正常工作。例如,可以在从节点上运行`INFO replication`命令来检查复制状态。 请注意,这只是一个基本的设置示例。在实际生产环境中,你可能还需要进行更多的配置和优化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值