Terracotta and MuleSoft Scale Tcat Servers; Ehcache 2.1 Beta Adds JPA
The Java Zone is brought to you in partnership with AppDynamics. Discover how AppDynamics steps in to upgrade your performance game and prevent your enterprise from these top 10 Java performance problems.
The talk began with Terracotta's introduction to some of the new enterprise features found in Ehcache 2.0. Those features include data write-behind, efficient bulk-loading, dynamic cache config, and JTA support (but not for standalone Ehcache). Allen showed a diagram of how Terracotta scales out by adding Tomcat servers to a Terracotta array, and when each array fills up, another Terracotta array is added seamlessly.
MuleSoft's Director of Product Management, Sateesh Narahari, spoke next about Tcat server's role in application deployment. Tcat server takes pure Apache Tomcat and adds enterprise-caliber deployment, config management, and diagnostics features. Narahari said that large-scale environments with 20-40 Tomcat instances can be very tough to manage without enterprise-grade tooling. Human error begins to rear its ugly head with so many Tomcat servers to manage, so Tcat server provides rollback capabilities and other management features to mitigate these errors.
Managing basic Tomcat can be painful, said Narahari. WAR files must be copied manually, there are no diagnostic tools or central management consoles, configuring each individual instance causes errors and takes time, and people tend to restart Tomcat before it shuts down cleanly.
Tcat server, on the other hand, enables one-click WAR file deployments and creates multi-WAR deployment packages. It also provides simple version management, real-time deployment status and historical data, and the ability to roll back to previous versions for investigation (and end users don't see these rollbacks).
The monitoring in Tcat server provides real-time application status monitoring and lets you keep an eye on your heap to know if you're hitting the limit. Tcat monitoring also lets you look at your Tomcat threads to see any blockers. You can retrieve this information from 40 or more instances.
Tcat Server JVM Memory Usage
Configuring all of those instances is no trouble at all using Tcat server. It gives you access to all of the instance filesystems and lets you download/upload their config files, but that's not always sufficient Narahari says. That's why MuleSoft also created Server Profiles to automate config changes and easily deploy application dependencies. Tcat server also lets you mix and match Tomcat instances that have different versions or instances that are running in the cloud or the datacenter. The restarts are also more reliable.
Different versions of Tomcat and adding a Terracotta Profile
Narahari expressed his company's confidence in Tomcat as a reliable open source technology. That reliability, he says, comes from having so many users that find bugs and keep the software optimized. MuleSoft was so confident in Tomcat's business viability that they created a commercial cloud offering of Tomcat called Cloudcat. The web seminar concluded with a simple example of a shopping cart application using Terracotta and the Tcat server:
At the end of the seminar, Mike Allen announced the release of the Ehcache 2.1 beta along with betas for two emerging APIs: ehcache-nonstopcache and ehcache-unclockedreadsview. ehcache-unclockedreadsview exposes an unlocked view of a coherent cache while ehcache-nonstopcache enables fine-grained control over Cache Operations timeouts and configurable actions on offline events (i.e. cluster disconnection). Another emerging API gives explicit locking control for standalone Ehcache and Terracotta.
The primary new features of Ehcache 2.1 involve further support for the Java Transaction API. JTA support has now been added for standalone Ehcache and for Hibernate. As a result, Ehcache now supports all Hibernate strategies. You can now get the Terracotta server distribution along with the Ehcache download.