【Redis】复制风暴

编程入门 行业动态 更新时间:2024-10-25 02:27:29

【Redis】复制<a href=https://www.elefans.com/category/jswz/34/1755526.html style=风暴"/>

【Redis】复制风暴

文章目录

  • 1. 复制风暴
    • 1.1 单节点复制风暴
    • 1.2 单机器复制风暴
    • 1.3 总结

1. 复制风暴

复制风暴是指大量从节点对同一主节点或者对同一台机器的多个主节点短时间内发起全量复制的过程。复制风暴对发起复制的主节点或者机器造成大量开销,导致 CPU、内存、带宽消耗。因此我们应该分析出复制风暴发生的场景,提前采用合理的方式规避。规避方式有如下几个。

1.1 单节点复制风暴

当一个主机下面挂了很多个 slave从机的时候,主机 master 挂了,这时 master 主机重启后,因为 runid 发生了变化,所有的 slave 从机都要做一次全量复制。这将引起单节点和单机器的复制风暴,开销会非常大。

解决:

  • 可以采用树状结构降低多个从节点对主节点的消耗。
  • 从节点采用树状树非常有用,网络开销交给位于中间层的从节点,而不必消耗顶层的主节点。但是这种树状结构也带来了运维的复杂性,增加了手动和自动 处理故障转移的难度。

    当也不一定

1.2 单机器复制风暴

由于 Redis 的单线程架构,通常单台机器会部署多个 Redis 实例。当一台机器(machine)上同时部署多个主节点(master)时,如果每个 master 主机只有一台 slave 从机,那么当机器宕机以后,会产生大量全量复制。这种情况是非常危险的情况,带宽马上会被占用,会导致不可用。

解决:

  • 应该把主节点尽量分散在多台机器上,避免在单台机器上部署过多的主节点。
  • 当主节点所在机器故障后提供故障转移机制,避免机器恢复后进行密集的全量复制。

如下图所示,左侧是单机器部署了多个master实例,右侧为分散部署:

1.3 总结

简单的区分单节点复制风暴和单机器复制风暴:

  • 首先风暴的原因都是机器挂了,导致master节点重启后,大量的从节点发起同步数据的操作
  • 不同点是二者的侧重点不同
    单节点复制风暴是假设一个master下关联100从节点,而单机器复制风暴是指某个机器上有10个master,每个关联10个从节点,它们都是100个从节点,如果主机挂了,都会产生风暴。
    • 单节点复制风暴:采用减少单个主节点关联的从节点
    • 单机器复制风暴:采用分散机器部署,让鸡蛋不要放到一个篮子里

参考:
《redis之主从问题处理》

更多推荐

【Redis】复制风暴

本文发布于:2024-02-13 03:52:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1690570.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:风暴   Redis

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!