首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何构建地理分布的主动-主动红星簇体系结构

如何构建地理分布的主动-主动红星簇体系结构
EN

Stack Overflow用户
提问于 2018-03-03 08:38:57
回答 1查看 1.3K关注 0票数 5

问题声明:我的应用程序将部署在三个不同的区域,即:北美、欧洲和亚洲。我想构建一个具有以下约束条件的redis体系结构:

  1. 每个区域都应该有自己的Redis集群,可以有多个主从。
  2. 每个区域的集群应该能够在本地处理写和读。

让我对第二点稍作阐述:我希望所有区域都有自己的数据副本。因此,应用程序在欧洲写入的任何新数据都应该发送到欧洲地区的redis集群,而不是任何其他区域。然后,这些数据可以(异步)复制到亚洲和北美地区。

到目前为止,我发现我不能像我想要的那样使用红色哨兵。我不能使用(我认为)在不同区域的主服务器上使用红宝石集群,因为这会将所有地区的数据分割开来,因此欧洲的应用程序可以尝试在亚洲的一个红宝石主服务器上编写一个切分的键。

因此,我的问题是:这种架构现在()用Redis还是在不久的将来?

我读过的文章,说明这个特性以前是不可用的,但是看起来这个特性在RedisEntireprise这里中是可用的,但是对于开放源码版本的Redis,我找不到关于这个主题的任何东西。

EN

回答 1

Stack Overflow用户

发布于 2018-04-18 02:48:08

一种可能的解决方案可以是使用redis键散列标记,在每个区域(如redis_master_US、redis_master_europe等)使用一个redis主键,在多个区域(以提高读取性能和可用性)中使用从键,其中键可以是{ US }_California、{US}_Texas、{EU}_Germany、{ASIA}_Japan等。但这里的问题是,前缀US的所有键都将转到相同的redis主键,但不一定是redis_master_US,这取决于主程序之间的散列槽分布。现在有一种方法可以解决这个问题,如果我们使用有预谋的redis键散列标记,就可以找到这里

现在我们可以使用一个键,如{fyimk7v1CgnBo}_California、{fyimk7v1CgnBo}_Texas、{91Lnyl}_Germany、{6MQu4Y}_Japan,我们知道它们将分别指向槽0、16382和8325,并在创建集群时确保这些时隙分别分配给redis_master_US、redis_master_Germany和redis_master_asia。

尽管这种方法似乎带来了很多问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49082307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档