5

I'm looking into hosting a standard Java web app on AWS and the new Elastic Beanstalk (http://aws.amazon.com/elasticbeanstalk/) seems to have most of what we want. The one thing I can't figure out is how to do distributed caching. It seems that AWS doesn't allow multicast discovery of new nodes, so I'm not sure how new nodes started by the auto-scaling process should be integrated into an existing distributed cache. Any suggestions / best practices appreciated.

Update: Ideally this would be a cache local to each application server instance. Best case scenario would be a hibernate level 2 cache config for something like ehcache or terracota.

4

3 に答える 3

6

Another route to go down today (after 2011-08-23) is to use Amazon ElastiCache which is protocol-compliant with Memcached and runs in the cloud for you. Makes it easy to put things into an in-memory cache.

于 2011-08-26T08:09:43.893 に答える
1

これが私の考えの一部です:

一部のEC2インスタンスで実行されているmemcachedなどの分散キャッシュインスタンスがあり、AWSのElasticIPを使用しこれらのインスタンスにマッピングするとします。Elastic IPは一種の静的IPアドレスであるため、新しいWebアプリインスタンスを事前構成して、memcachedIPを介して送信されたmemcachedを見つけることができます。

自動スケーリング中に、memcachedサーバーを見つけることができるようになりました。

于 2011-05-20T02:05:55.373 に答える
0

If you want your cache on every instance separatly, I would recommend to use Multicontainer Docker Environments for EB, as a way to facilitate settign your app, and your casching layer on every node. Elastic Beanstalk part will work just like before on normal dedicated platform, some reconfiguration may be needed there if you are using private libs, etc. depending on your app details. But if you want your caching layers on separate nodes to talk to each other it may be not easy to achive...

于 2017-04-19T09:39:35.410 に答える