Cluster development is often very complicated, Many applicatoins needs to develop special infrastructure to support clustering such as Cluster cache, replication of data between the different servers in the cluster and each develop need to take into account the design and the implementation of his module to run well in cluster environement.
Terracotta comes to solve this problem, Terracota is Open Source and it is called "Network Attached Memory" or simply NAM. Terracotta take care for all the cluster issues, eliminate the developer the need to deal with all this complicated stuff.
For example java synchronized(), wait() & notify() can work exactly the same across several VMs as across threads!!!
Terracotta also provides In Memory DB which is durable to Server Crashes.
In summary if you are looking for an open source which can scale your application in little effort I recommend using Terracotta.
Showing posts with label Cluster. Show all posts
Showing posts with label Cluster. Show all posts
Monday, March 10, 2008
Terracotta - Simplfy Cluster Development
Posted by
blogger
at
12:37 AM
0
comments
Labels: Cluster, Terracotta
Friday, January 18, 2008
Writing Cluster Application
Here is a checklist of things that need to be done to write good application which would work in Cluster enviroemnt
- When accessing the cluster from outside using HTTP or RMI verify that access to the cluster is done throught load balancer, this can be either software or hardware load balancer.
- Consider using 'Optimistic Locking' or 'Pemisitic Locking' if two or more clients may update the same row in the databse at the same time
- If you want to cache data all over the cluster and not on a single server then don't use Singleton, you would need to user Cache framework such as GigaSpaces or OSCacheor JCache etc', this solution is good mainly for read only data or data which is mostly read.
- In many application servers you can configure your MDB if it would run on a single server or on several servers.
- Avoid reading files/writing to files in the code, Since you may run on different hosts in the cluster and the files may not exists on the current host which you are running
- Use Synchronize where two threads may access the same data at the same time, This problem can also occure on non cluster system.
Please comment if you have other issues which are missing.
Posted by
blogger
at
10:10 PM
1 comments
Labels: cache, Checklist, Cluster, GigaSpaces, J2EE, JavaEE, JEE
Subscribe to:
Posts (Atom)
