Terracotta is an open source clustering product for Java. With Terracotta, JEE Applications scale simply and reliably without databases, EJBs or other complex infrastructure. It is an open source infrastructure software that makes it easy to scale a Java application to as many computers as needed, without the usual custom application code and databases used to share data in a cluster.
Terracotta manages mission critical data using Network-Attached Memory (NAM) technology. NAM enables Terracotta to cluster Java Virtual Machines (JVMs) directly underneath applications, and is a proven runtime approach to providing Java applications both high availability and scalability.
Terracotta is a complete clustering solution that works at the JVM level. It offers the following features:
- Shared heap (object replication, cross-JVM object identity)
- Distributed locking (synchronized, wait/notify, and util.concurrent support)
- Guaranteed coherent clustered objects
- Persistence to disk for high availability
- Virtual memory (spill your heap to Terracotta or to disk, transparently)
- Distributed data structures, like Maps, Lists, Arrays, Queues, & POJOs
- Seamless integration with popular frameworks, like Spring, Hibernate, and EHCache
- Superior cluster profiling and visualization for easy tuning
- Superior JMX-based monitoring, and management for operational visibility and control
- Highly available and horizontally scalable Terracotta server array