Showing posts with label clustering. Show all posts
Showing posts with label clustering. Show all posts

January 4, 2008

Open Terracotta - Clustering & Caching

I read this article on www.Infoq.com about “Introduction to OpenTerracotta”  It explains how terracotta works:

 

Java applications are easiest to write and test when they run in a single JVM. However, the requirements to make applications scalable and highly available have forced Java applications to run on more than one JVM. In this article, we introduce OpenTerracotta, an enterprise-class, open-source JVM-level clustering solution.

 

JVM-level clustering simplifies enterprise Java by enabling applications to be deployed on multiple JVMs, yet interact with each other as if they were running on the same JVM.

 

In a single JVM, threads interact with each other through changes made to objects on the heap and through the language-level concurrency primitives: the 'synchronized' keyword and the Object methods wait, notify, and notifyAll. Open Terracotta allows threads in a cluster of JVMs to interact with each other across JVM boundaries using the same built-in JVM facilities extended to have a cluster-wide meaning. These clustering capabilities are injected into the bytecode of the application classes at runtime, so there is no need to code to a special clustering API.

 

Using these clustering facilities, Terracotta is most commonly used in the following scenarios:

 

·         HTTP Session Replication

·         Distributed Cache

·         POJO Clustering / Spring integration

·         Collaboration, Coordination, and Events

 

Read full article here: http://www.infoq.com/articles/open-terracotta-intro