【发布时间】:2019-10-30 12:02:34
【问题描述】:
我有一个 redis master,它有 30 GB 的数据和 90 GB 的内存。我们有这样的设置,因为我们有更少的写入和更多的读取。通常,我们会有 3X db 大小的 RAM 机器。
这里的问题是,一个从站损坏了,后来我们使用哨兵将它添加回来。它卡在 master 上的 wait_bgsave 状态(在看到 master 上的信息后)
原因是:
client-output-buffer-limit slave 256mb 64mb 60
这是在主服务器上设置的,由于最大内存不可用,它会破坏新从服务器的复制。 我看到这个问题Redis replication and client-output-buffer-limit 正在讨论类似的问题,但我的问题范围更广。
我们不能使用大量内存。那么,在这种情况下,有哪些可能的方法来进行复制以防止 master 上的任何故障(wrt。内存和延迟影响)
我有几件事要考虑: 1 - 我应该进行无盘复制 - 它会对写入和读取的延迟有任何影响吗? 2 - 我是否应该将转储文件从另一个从站复制到这个新从站并重新启动 redis。 ?那行得通吗? 3 - 我应该将输出缓冲区限制从站增加到更大的限制吗?如果是,那么多少钱?我想这样做一段时间,直到复制发生,然后将其恢复为正常设置?我对这种方法持怀疑态度。
【问题讨论】:
标签: redis replication