【问题标题】:AWS Elastic Beanstalk caching?AWS Elastic Beanstalk 缓存?
【发布时间】:2011-08-03 23:22:05
【问题描述】:

我正在考虑在 AWS 上托管一个标准的 Java Web 应用程序,而新的 Elastic Beanstalk (http://aws.amazon.com/elasticbeanstalk/) 似乎拥有我们想要的大部分功能。我不知道的一件事是如何进行分布式缓存。 AWS 似乎不允许多播发现新节点,所以我不确定如何将自动缩放过程启动的新节点集成到现有的分布式缓存中。任何建议/最佳做法表示赞赏。

更新:理想情况下,这将是每个应用程序服务器实例的本地缓存。最好的情况是 ehcache 或 terracota 之类的休眠级别 2 缓存配置。

【问题讨论】:

    标签: java amazon-web-services cloud-hosting distributed-caching


    【解决方案1】:

    如果您希望在每个实例上分别缓存,我建议将Multicontainer Docker Environments 用于 EB,以方便设置您的应用程序和每个节点上的缓存层。 Elastic Beanstalk 部分将像以前一样在普通专用平台上工作,如果您使用私有库等,可能需要在那里进行一些重新配置,具体取决于您的应用程序详细信息。但是,如果您希望不同节点上的缓存层相互通信,则可能并不容易实现......

    【讨论】:

      【解决方案2】:

      今天(2011-08-23 之后)的另一条路线是使用Amazon ElastiCache,它与 Memcached 协议兼容并为您在云中运行。可以轻松地将内容放入内存缓存中。

      【讨论】:

      • 谢谢,这看起来像是要走的路。我最初一直在寻找用于休眠的自动发现二级缓存,但我知道这无论如何都无法正确扩展,并且像设置这样的 memcache 是要走的路。
      【解决方案3】:

      这是我的一些想法:

      假设您在一些 EC2 实例中运行了诸如 memcached 之类的分布式缓存实例,并且您使用来自 AWS 的 Elastic IP 映射到这些实例。由于弹性 IP 是一种静态 IP 地址,现在您可以预先配置您的新 Web 应用程序实例以通过 memcached IP 定位 memcached 实例

      在自动缩放期间,现在可以找到您的 memcached 服务器。

      【讨论】:

      • 这绝对是一个有趣的选项,但我应该更清楚一点,因为我希望这是一个分布式缓存,因此对于每个应用程序服务器都是本地的。理想情况下,由于这是一个beantalk,所以Java,它将是一个休眠的2级缓存解决方案,如ehcache或其他东西。我将更新问题以使其更清楚。感谢您提供弹性 IP 建议,很高兴知道这一点。
      猜你喜欢
      • 2016-04-03
      • 2017-04-01
      • 2015-09-26
      • 2013-03-21
      • 2017-01-17
      • 2017-08-05
      • 2018-06-05
      • 2019-03-09
      • 2019-02-05
      相关资源
      最近更新 更多