Clustering OSCache
For the past few days, I've been tuning and configuring OSCache in a clustered (WebLogic) environment. While setting it up was fairly easy, there was some fundamental concepts that took me a bit to figure out.
First of all, I chose to use JavaGroups instead of JMS. The primary reason behind this was it was easier to configure, but I also discovered that if you use JMS - you have to have a unique "cache.cluster.jms.node.name" property in your oscache.properties file on each server. This means to use OSCache with JMS, you have to build two different EARs. At least that's my impression. If you've figured out a better way to do this, please let me know.
In the application I'm working on, there are 4 different caches: one for Hibernate, and several other ones we've created with OSCache and Spring. For the past week, I developed a feature where we cache a user's account information across the cluster. The feature is more like an HttpSession than a cache b/c it's designed to replicate an authentication token (similar to a session id) across all the master servers.
After much head pounding, I discovered that OSCache doesn't update other nodes in a cluster for inserts and updates. It only broadcasts flushes. After understanding how OSCache works, it was much easier for me to code the solution (sans OSCache). If you'd like to see OSCache support replicating a cache across a cluster, vote for CACHE-96.
Posted by 82.182.214.87 on November 23, 2005 at 10:16 PM MST #
Posted by Matt Raible on November 24, 2005 at 02:53 AM MST #
Posted by Jeff Genender on November 24, 2005 at 03:15 AM MST #
Posted by Lee on November 24, 2005 at 11:07 AM MST #
Posted by ian on November 25, 2005 at 01:59 AM MST #
Posted by Cameron Purdy on November 25, 2005 at 03:25 AM MST #
Posted by Rintcius Blok on December 07, 2005 at 02:22 PM MST #
Posted by Bill Davis on December 07, 2005 at 04:53 PM MST #
Hmmm...While we are talking about distributed caching solutions, I have some experience on the topic. I must confess, I have primarily worked on .NET caches but there are some which have the potential to work on multiple frameworks. For example, for the last couple of years, I have been using NCache which has all the features of a real .NET enterprise caching solution and also has a Java plug-in without the need of an inter-operatability bridge.
Caching has solved a lot of my performance and scalability needs but the best thing that I feel it has done for my mission critical app is iron-clad reliability. With us going into GRID computing pretty soon, it would prove to be one of the best investments our company has made in a long time.
Thanks.
Posted by Joe Cohen on January 11, 2010 at 07:57 PM MST #