1 Sekforde Street, EC1R 0BE
London, England

Ari Zilka teaches you how to use Terracotta's JVM-level clustering technology with your application. Leverage Terracotta to make your Java Applications highly available and scalable, with minimal effort.

We'll discuss usage of Terracotta technology in System Implementations. We’ll highlight real-world use-cases where Terracotta was employed and as compared to alternatives, provided better Scale and HA with semantic correctness, whilst simultaneously providing low time-to-market and in-depth visibility into the Java Cluster. We will cover the following use-cases: Http sessions, Distributed Caches, clustering POJOs (e.g. Publisher-Consumer, Batch Processing etc.), Spring singleton-Beans/Context Events, JVM Co-ordination and clustering other development frameworks.


* Apply Common Use Cases
* Use Session Clustering Apply POJO Clustering
* Write a TIM
* Co-ordinate Clusters
* Manage Clusters
* Configure Distributed Cache
* Tune for performance
* Roll-out for Production



* Terracotta the Company
* Terracotta Services
* Terracotta Flag-ship Technology: Distributed Shared Objects:
o Philosophy
o Concepts
o Architecture Overview
* Terracotta Installation
* Terracotta Samples and Examples

Common Use-Cases – Introduction, Real-life Examples and what Terracotta provides as compared with alternatives:

* Session Clustering
* POJO Clustering
* The De-Container.
* JVM Co-ordination
* Cluster Management.
* Distributed Cache (Various topologies):
o Cache Aside
o Write through Cache
o Write behind Cache
o Partitioned Data-Grid
o Other configurations

Session Clustering:

* Sample Application/Lab (Clustering a sample app)
* Scale, HA, Correctness, characteristics

POJO Clustering:

* Concepts and Considerations
* Sample Application/Lab (Clustering a LinkedBlockingQueue)

The De-Container:

* TIMs Concept
* Terracotta TIMs for EHCache, Hibernate 2L Cache, Wicket, Struts, Quartz, Lucene, Compass.
* Sample Applications/Labs (Quartz, Compass)
* Writing a TIM.

Cluster Co-ordination:

* Distributed Wait-Notify
* Distributed Method Invocation
* Master/Worker

Cluster Management:

* JMX Events
* Sample Application

Distributed Cache & Cache Configurations

* Distributed Cache:
* Cache configurations
o Read-Only
o Write Through
o Write Behind
o Cache Aside
o Partitioned Data Grid
* Scale, HA, Correctness, Simplicity characteristics of each configuration.
* Sample Application/Lab (Clustering a ConcurrentHashMap, EHCache)

Performance Tuning

* Memory Tuning:
o Garbage Collection
o Virtual Memory Manager
o Distributed Garbage Collection
* Lock Tuning:
o Striping
o Lock Granularity
o Lock Types
o Lock Pessimism/Optimism
* Instrumentation Scope
* Other Tc-config.xml , tc.properties tuning
* Tools:
o Admin Console (Lock Profiler, DGC Tab etc.)
o Statistics Visualization Tab
o Debug options (tc-config.xml)
* LAB: Improve Throughput/Latency of a poorly performing app

·Production Roll-out

* Deployment Options
* Failure Analysis
* Monitoring the cluster in production
* Upgrades with minimal downtime
* Other post-production best practices

Summary & Conclusions

Official Website: http://skillsmatter.com/course/soa-rest/core-terracotta-scaling-your-java-application-with-terracotta

Added by Skills Matter on November 3, 2008

Interested 1