【问题标题】:Scaling Up an Elasticache Instance?扩展 Elasticache 实例?
【发布时间】:2014-04-16 11:52:38
【问题描述】:

我目前正在运行一个通过 Elasticache 使用 Redis 的站点。我们希望移动到具有更多 RAM 的更大实例,因为我们当前的实例类型已达到 70% 左右。

有没有办法像扩展 RDS 实例一样扩展 Elasticache 实例?

或者,我想创建一个副本组并向其中添加一个更大的实例。然后,一旦它被复制并运行,将新实例提升为主实例。这似乎无法通过 AWS 控制台实现,因为副本是使用与主节点相同的实例类型创建的。

我是否遗漏了什么,或者只是一个无法实现的用例。我知道我可以启动一个更大的实例并手动处理复制,然后移动 Web 服务器以使用新服务器,但这将需要一些停机时间,因为 DNS 迁移等。

谢谢!, 艾伦

【问题讨论】:

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


    【解决方案1】:

    你可以放大或缩小

    • 转到 Elasticache 服务

    • 选择集群

    • 从顶部的Actions 菜单中,选择Modify

    • 修改Node Type如下图

    如果您有集群,您可以添加更多分片、减少分片数量、重新平衡插槽分布或添加更多只读副本。只需单击集群本身,您应该会看到类似这样的内容

    请注意,当您删除分片时,它会自动将数据重新分配到其他现有分片,因此会影响流量并使其他分片过载,当您尝试删除分片时,您会收到这样的警告

    仍然需要更多帮助,请随时发表评论,我非常乐意提供帮助。

    【讨论】:

      【解决方案2】:

      是的,您可以立即将正在运行的 Elasticache 实例类型扩展到更大的大小。我已经对其进行了测试,并且经历了很少的实际停机时间(我认为一开始只有几秒钟,但很快它就会重新上线,即使控制台会显示该过程大约需要几分钟才能真正完成。)我从 t2 .micro 到 m3.medium 没有问题。

      【讨论】:

        【解决方案3】:

        您现在可以在保留 ElastiCache 的同时扩展到更大的节点类型:

        https://aws.amazon.com/blogs/aws/elasticache-for-redis-update-upgrade-engines-and-scale-up/

        【讨论】:

        • 虽然理论上这可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。
        • 值得注意的是,这仅适用于 Redis 集群,但不适用于 memcached。
        【解决方案4】:

        Elasticache 感觉更像是 memcached 意义上的缓存解决方案,这意味着要扩大规模,您确实需要启动一个新集群并将应用程序切换到该集群。性能会暂时下降,因为必须重建缓存,但仅此而已。

        但是,对于很多人(我怀疑您也包括在内)来说,Redis 更像是一种 NoSQL 数据库解决方案,其中数据丢失是不可接受的。亚马逊提供只读副本作为该问题的“解决方案”,但它仍然有点不确定。当然,它提供了复制以降低数据丢失的风险,但它仍然远没有 RDS 的生产安全(或成熟)用于 Redis 数据库(与缓存相反,它是非常完美),它提供备份和恢复程序,以及结构良好的变更管理以支持扩展。据我所知,ElastiCache支持更改正在运行的集群的实例类型。这表明它只是一种内存解决方案,在重新启动时会丢失所有数据。

        我想说的是,如果您担心数据丢失,您应该考虑使用自卷式 Redis 解决方案,而不是简单地使用 ElastiCache。它不仅运行起来稍微便宜一些,它还使您能够像在任何其他 EC2 实例上一样更改实例类型(当然,在停止它之后)。它还可以让您使用 RDB 或 AOF 持久性。

        【讨论】:

        • 谢谢!您说得对,我们正在使用 Redis 作为准数据库解决方案,我们实际上计划运行 2 个 redis 服务器,其中一个就像我们数据库前面的传统缓存一样。它是第二台服务器,数据需要在我们关注的扩展范围内保持不变。我们现在正在考虑使用 Scalr.com 来管理我们的 Redis 服务器,因为它们提供只读副本以及迄今为止看起来非常快速的故障转移。优点是我们可以扩展到我们想要的任何 AWS 实例类型。谢谢!,艾伦
        • 为了解决最后一点,ElastiCache Redis 确实允许 RDB 快照和 AOF:“Redis 从站可用于根据需要生成 RDB 快照和/或 AOF 附加日志,您可以传输这些文件到 S3 以提高耐用性。”来自aws.amazon.com/elasticache/faqs/#redis-features
        • 是的,当然,我可能走得太远了。通过拆除实例并基于快照构建另一个实例来扩大规模当然可以解决这里的直接问题。但是,我确实坚持我所说的:我不建议将 ElastiCache 用作数据库。我怀疑亚马逊本身也会。
        猜你喜欢
        • 2022-01-14
        • 2010-12-14
        • 2019-02-25
        • 2013-07-04
        • 2021-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-19
        相关资源
        最近更新 更多