【问题标题】:Redis active - active replication across datacenters / Kubernetes clustersRedis active - 跨数据中心/Kubernetes 集群的主动复制
【发布时间】:2018-12-07 10:16:49
【问题描述】:

我在Kubernetes上部署了一个高可用的Redis服务(使用的redis版本是4.0.9),带有aof持久化。三个哨兵节点监控一个主节点和两个从节点。 我现在有以下用例: 在不同的 Kubernetes 集群上部署两个上述类型的实例并保持它们同步。该设置应提供主动 - 主动复制。

到目前为止,我想出的可能解决方案是:

  1. 使用 Twitter 的 twemproxy 代理请求到和来自 Kubernetes 中单独的 Redis 服务的请求。这种情况下的问题是(afaik)twemproxy 自动在可用的 Redis 节点/集群之间分片数据,因此上述配置中的主 Redis 节点在任何给定时间点都不会具有相同的数据集。
  2. 使用XDCRWithKafka。我还没有找到任何有关使用 XDCRWithKafka 的文档...
  3. 使用 HAProxy 的方式与使用 twemproxy 的方式几乎相同(同样,afaik,HAProxy 不支持请求多播)
  4. http://grokbase.com/t/gg/redis-db/123nyg4rfp/multiple-master-going-to-one-slave 中描述的一些自定义 sln(尽管在活动状态下保持 redis 集群与这样的解决方案同步 - 活动状态似乎并不那么简单......)

有什么想法/建议吗?

提前致谢, 乔治

【问题讨论】:

    标签: redis kubernetes replication twemproxy xdcr


    【解决方案1】:

    据我所知,似乎只有 Dynomite 可以解决这个问题。 https://github.com/Netflix/dynomite/wiki/Topology

    另外一个建议是通过这样的设置来实现我们自己的:

    数据中心1:

    [多个 redis 客户端]===>[localProxy-DC1]====> TWEMPROXY-DC1 ===> [使用 Sentinel 的多个 Redis 单实例]

    数据中心-2:

    [localProxy-DC1] ====replicates commands async===> TWEMPROXY-DC2 ====> [Multiple Redis Single Instances with Sentinel]

    【讨论】:

      猜你喜欢
      • 2017-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 2020-10-26
      • 2021-09-14
      • 1970-01-01
      相关资源
      最近更新 更多