我目前在我的项目中使用Amazon Web Services的RDS MultiAZ,我希望使用ElastiCache来提高查询速度。但是我注意到在ElastiCache上我必须定义我在使用中感兴趣的区域。
只是为了检查我是否正确:MultiAZ意味着我在2个区域有2个数据库服务器(我使用的是南美地区):在区域AI上有一个读写服务器(主服务器)和区域BI有一个读服务器(Slave)。如果由于任何原因A区出现故障,B区将成为Master,直到A区返回。
现在如何在这种情况下使用ElastiCache(我使用Memcache)?我无法创建一个缓存集群,其中包含一个要连接的端点和两个节点(每个区域中有一个节点)。我需要为每个区域设置1个缓存群集,并为我的应用程序设置2个代码,以便它们连接到正确的区域?
一个月前已经在AWS论坛上问过,但没有回应。 谢谢!
答案 0 :(得分:1)
Amazon ElastiCache群集是按AZ进行的,ElastiCache没有多可用区,因为有RDS(你是对的,那就是主/从复制)。所以你需要围绕它设计。这与上下文有关,但这里有三个想法:
故障恢复:监控您的缓存群集,如果发生故障,请在另一个AZ中旋转新的缓存群集。
Master / Slave:拥有一个备用缓存群集,如果发生故障,可以重新路由并扩展到从属端口。
多主机:在AZ弹性负载均衡器下始终使用每个AZ缓存群集。
修改强>
这个答案考虑了ElasticCache for Memcached。对于Redis,有多可用区(主/从)支持。