redis的高可靠性

redis的高可用性保障措施: 增加副本的冗余量。redis提供了主从库模式,保证数据副本的一致性,主从库采用的是读写分离的方式。

redis的主从库模式:

  1. 读操作:主库和从库都可以接受请求
  2. 写操作:首先主库进行写操作,然后主库将写操作同步到从库。

 

主从库第一次进行数据同步:

数据同步对主库带来影响:

1.fork子线程这个过程会阻塞主线程处理正常请求,生成RBD文件,

2传输rdb文件,会给主线程的宽带资源带来压力。

解决方式:

可以通过‘主 - 从 -从’ 这种级联方式将主库生成rdb和传输rdb的压力分散到从库身上。

主从间的持续数据传输

当主从全量数据同步完成之后,主从或者从从之间就会维护一个长连接来完成命令的传输,

 

主库间网络终端措施

如果主库和从库断开了连接,那么主从之间的数据同步将采用增量数据同步的方式来进行同步。增量复制会把主从库网络断连期间的命令同步给从库。

主库会有一个repl_backlog_buffer缓冲区,主从redis断连之后,这些操作命令写到 repl_backlog_buffer缓冲区。

repl_backlog_buffer缓冲区是一个环形缓冲区,主库主要会记录到写入到的位置,从库会记录读到的位置(slave_repl_offset)。

问题:

repl_backlog_buffer是一个环形的数据结构,如果缓存写满之后的话,那么新的数据会覆盖老的数据

repl_backlog_buffer的大小计算公式 缓存空间 = (主库写入速度 * 操作大小 - 主从间传输速度 * 操作大小) * 2

1 如果考虑到大小还是有压力的话 可以设置为缓存空间的4倍。如果配置的过小的话,导致从库的节点位置和主库的位置对应不上的话,就需要全量复制。

 2 可以考虑切分集群来缓解单个主库的请求压力。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值