【发布时间】:2018-12-07 10:16:49
【问题描述】:
我在Kubernetes上部署了一个高可用的Redis服务(使用的redis版本是4.0.9),带有aof持久化。三个哨兵节点监控一个主节点和两个从节点。 我现在有以下用例: 在不同的 Kubernetes 集群上部署两个上述类型的实例并保持它们同步。该设置应提供主动 - 主动复制。
到目前为止,我想出的可能解决方案是:
- 使用 Twitter 的 twemproxy 代理请求到和来自 Kubernetes 中单独的 Redis 服务的请求。这种情况下的问题是(afaik)twemproxy 自动在可用的 Redis 节点/集群之间分片数据,因此上述配置中的主 Redis 节点在任何给定时间点都不会具有相同的数据集。
- 使用XDCRWithKafka。我还没有找到任何有关使用 XDCRWithKafka 的文档...
- 使用 HAProxy 的方式与使用 twemproxy 的方式几乎相同(同样,afaik,HAProxy 不支持请求多播)
- 在http://grokbase.com/t/gg/redis-db/123nyg4rfp/multiple-master-going-to-one-slave 中描述的一些自定义 sln(尽管在活动状态下保持 redis 集群与这样的解决方案同步 - 活动状态似乎并不那么简单......)
有什么想法/建议吗?
提前致谢, 乔治
【问题讨论】:
标签: redis kubernetes replication twemproxy xdcr