【问题标题】:Whats the best way to use AWS elasticache with RDS MultiAZ?将 AWS elasticache 与 RDS Multi AZ 结合使用的最佳方式是什么?
【发布时间】:2014-07-10 12:46:31
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: amazon-web-services amazon-rds amazon-elasticache


    【解决方案1】:

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

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

    • 主/从:拥有备用缓存集群,并在发生故障时重新路由并扩展到从属。

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

    编辑

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

    【讨论】:

    • 我喜欢将弹性负载均衡器与 2 个缓存集群相关联的想法,每个区域一个。但是如何使用 Amazon 的 Elasticache 服务来实现呢?我认为可能的唯一方法是在 EC2 实例中安装 memcache 并将它们连接到负载均衡器。我想改用亚马逊的服务。
    • 您可以使用另一个负载均衡器(例如 NGINX)和两个 ElastiCache 缓存集群作为后端服务器。一些 memcached 客户端进行负载平衡和故障转移,在这些情况下,您只需将两个服务器都添加到列表中,无需在服务器端进行负载平衡。
    • 另一种选择是使用 Redis 而不是 Memcached 作为缓存引擎,它支持多可用区。
    猜你喜欢
    • 2010-09-07
    • 2013-12-20
    • 2019-05-26
    • 2016-03-01
    • 2011-07-29
    • 2021-06-02
    • 2018-02-18
    • 2012-07-05
    • 2010-10-29
    相关资源
    最近更新 更多