mumoshu / play2-memcached

A memcached plugin for Play 2.x
Other
161 stars 66 forks source link

Adding support for Amazon Elasticache #14

Closed kamatsuoka closed 11 years ago

kamatsuoka commented 11 years ago

Takes advantage of Elasticache's auto-config mechanism: saves you from having to maintain the list of cache nodes in the client. To use, add your elasticache configuration endpoint to your conf as elasticache.config.endpoint={config.endpoint}. For example, elasticache.config.endpoint="mycachename.asdfjk.cfg.use1.cache.amazonaws.com:11211".

adpande commented 11 years ago

+1

mumoshu commented 11 years ago

@kamatsuoka

Hi. Thanks for the pull request!

Excuse me, but according to your code and explanation, I guess that you can just use Elasticache with:

memcached.host="mycachename.asdfjk.cfg.use1.cache.amazonaws.com:11211"

Instead of which you are proposing:

elasticache.config.endpoint="mycachename.asdfjk.cfg.use1.cache.amazonaws.com:11211".

Are you just providing an alias(elasticache.config.endpoint) for the configuration key memcached.host, or am I missing something?

kamatsuoka commented 11 years ago

I wanted to distinguish the config endpoint, which supplies a list of memcached hosts, from the memcached hosts themselves. Elasticache spares you the need to put the memcached hosts in your config, and it supports auto-reconfiguration of the cluster.

Also, in the memcached.host code path there are options for setting username and password for memcached. Those aren't supported in Amazon's memcached client.

kamatsuoka commented 11 years ago

I forgot to mention that you need to use Amazon's elasticache client instead of spymemcached if you want to take advantage of auto-discovery. So download AmazonElastiCacheClusterClient-1.0.jar (or latest version) from the AWS console, and remove the sbt dependency on spymemcached.

mumoshu commented 11 years ago

@kamatsuoka

I got it and I will publish a new version of the plugin with your patch, as soon as I have myself tried Elasticache a bit.

Thanks!