2

我目前在我的项目中使用来自 Amazon Web Services 的 RDS MultiAZ,我希望使用 ElastiCache 来提高我的查询速度。但是我注意到在 ElastiCache 上我必须定义我感兴趣的区域。

只是为了检查我是否正确:MultiAZ 意味着我在 2 个区域上有 2 个数据库服务器(我使用的是南美区域):在 AI 区域有一个读写服务器(主服务器),在 BI 区域有一个读取服务器(奴隶)。如果由于任何原因区域 A 出现故障,则区域 B 将成为主区域,直到区域 A 返回。

现在在这种情况下如何使用 ElastiCache(我正在使用 Memcache)?我无法创建一个要连接的单个端点和 2 个节点(每个区域一个)的缓存集群。我需要为每个区域提供 1 个缓存集群,并为我的应用程序提供 2 个代码,以便它们连接到正确的区域?

一个月前已经在 AWS 论坛上问过这个问题,但没有任何回应。谢谢!

4

1 回答 1

1

Amazon ElastiCache 集群是按 AZ 的,ElastiCache 没有像 RDS 那样的多可用区(你说得对,即主/从复制)。所以你需要围绕它进行设计。这非常依赖于上下文,但这里有三个想法:

  • 故障恢复:监控您的缓存集群,并在发生故障时在另一个 AZ 中旋转一个新集群。

  • Master/Slave:有一个备用缓存集群,如果发生故障,重新路由并扩展到从属。

  • 多主:让每个可用区的缓存集群始终在弹性负载均衡器下运行。

编辑

这个答案考虑了用于 Memcached 的 ElasticCache。对于 Redis,有多可用区(主/从)支持。

于 2014-07-10T16:02:52.037 回答