While reading Terracotta architecture, I was just paused and my mind flashback to year 2002, when we try to build an ambitious health care contract system, we want to do something to scale up our performance a 100 fold to differentiate us from our competitors.This was almost impossible to achieve it since we are talking about some 10 million worth of health care products with massive transactional system. At that time we want to build a secondary in-memory servers to cache our entire set of data, for fast retrieval and store data and asynchronously persist with database. But for some valid reason, we did not implement it and scrap the whole idea.
Ok..flashback ends here. Now we have a open source, well defined and proven, NAM (Network Attached Memory) called Terracotta. Terracotta was there in market since 2006 but it made some buzz recently after it become open source at end of 2006. The year 2007 it got much needed support from open source community and become leader in Java clustring solutions. Here is a good simple introduction to Terracotta from infoQ.
Now question is where to use Terracotta. They are multiple places where ever we need a cache support. Here are some effective usage of Terracotta.
1. Distributed Caches
As per Terracotta.org, "Distributed caches powered by Terracotta can see as much as 100x throughput vs. native solutions, with no changes to existing code." and "Terracotta can support any data structure from simple hashmap to OSCache".
2. Hibernate
"Terracotta helps to reduce database overload caused by O/R-mapped applications deployed in a clustered environment. Use it to cluster your Hibernate second level cache, or get even more performance by clustering disconnected Hibernate objects."
3. HTTP Session Clustering
"Terracotta is used by Java websites both large and small to cluster web sessions. When clustered by Terracotta, web application session becomes highly available without actually being replicated to every app server in the cluster. This leads to scalable applications especially when used in conjunction with an HTTP load balancer. "
Subscribe to:
Post Comments (Atom)
From Generative AI to Agentic AI: 2 Weeks of Building MyNewsAI.io
From Generative to Agentic AI: 2 Weeks Building MyNewsAI.io Over the last two weeks, I set out to evolve MyNewsAI...
-
When I start thinking about future, my mind exploding without control, particularly current events and state of our economy. There is no d...
-
When I was young, i used to listen old stories from grandmother and a cousin of my grandfather. Most of the stories are from their flashback...
-
Already Microsoft getting heat from Google, that Google is capturing all critical functionalities from Microsoft office suite and developed ...
2 comments:
I just had the same flashback reading your blog post. Between 2000 and 2003, we were trying to do the same thing at walmart.com. We did end up with a *very* scalable system, but we had to write a caching server and reserve an entire software release cycle for tuning every year to do it. We thought to ourselves that there really ought to be something off the shelf that did the same thing, but in a completely transparent way. Thus, Terracotta was born.
Thanks Orion. It is my pleasure to know why Terracoota was invented.
It is always true, that great software/inventions happen after somebody went thru pain to resolve an issue.
Subba
Post a Comment