Distributed Caching mechanisms and sharing data in a clusterWorking in the area of telecom, I just had the need to share data in an environment that has to ble highly scalable. The system will be set up as a cluster of BEA weblogic servers.
So.. How is it possible to share data, and efficiently cache data in such environments ? Im currently researching this, and have to implement some kind of sollution. The alternatives so far seems to be either to do it in the managed Weblogic environment, or do it on a lowever level (Using socket communications). Managed environments
This article describes a mechanisms for configuring up a Cache MBean in the weblogic server. This article describes both an "easy to configure" solution that requires the administration server to be up and running all time. That is probably not acceptable in a HA environment.
It also introduces a JMS based broadcast sollution that are more robust, but requires more code.
Distributed sharing of data and caching is also possible using TCP/UDP directly. The downside is that you have to configure this outside the component container, reducing maintainability.
(Copied from the site) JCS is a distributed caching system written in java for server-side java applications. It is intended to speed up dynamic web applications by providing a means to manage cached data of various dynamic natures. Like any caching system, the JCS is most useful for high read, low put applications. Dynamic content and reporting systems can benefit most. However, any site that repeatedly constructs pages, dropdowns, or common search results from a database that is updated at intervals (rather than across categories continuously) can improve performance and scalability by implementing caching. Latency times drop sharply and bottlenecks move away from the database in an effectively cached system.
I hereby promise to blog my thoguhts and views on Enterprise java, design patterns, frameworks and all other things that make life as a software developer
interesting.