« Branding the Feed | Main | Deleting your FeedBurner Feed »

Distributed Caching with Java

Kevin Burton had a nice comment in a previous post, warning against using local caches and instead suggesting using memcached. I agree. At FeedBurner, we're using memcached and we've had really good luck with it. Why memcached? Because we knew some people that used it successfully, and we've pretty much used Brad's LiveJournal growth history as a template for how we want to scale.

But as we grow, I have a few concerns, and we're soon going to be doing some research into other possible distributed cache solutions. The biggest concern is that it appears that adding or removing a memcached server causes all of the object identfiers to be rehashed, which essentially flushes the cache. We're getting to the point where we have to be a little careful as our cache warms up, so I'd prefer to be able to add and remove cache servers without having to blow the cache.

I'm certainly not ruling out staying with memcached, but I'm willing to look at alternatives. If anyone has any recommendations for things to look at, please let me know.

Comments

TerraCotta DSO is supposed to allow "large virtual heaps", and seems to have a lot more enterprisy features in terms of hotswapping and such. And it's open source as well as free.

If you check it out, let me know what you find :-)

http://www.terracotta.org/confluence/display/orgsite/Terracotta+DSO

I haven't used it yet...

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)