Take the 2-minute tour ×

Im looking at various design considerations for deploying applications in a cluster environment and how to sync resources

The first thing that comes in my mind is when an application needs to share a state among many objects, a state that needs to have a single instance, the solution is to store the state in a static variable. This approach would work fine on a single server however would not work on cluster environment as each node in the cluster would maintain its own copy of the static variable, thereby creating as many different values for the state as the number of nodes in the cluster.

So what pointers one should take into consideration while deploying applications in a cluster applications and sync various resources ?

share|improve this question

1 Answer 1

First I would say to not try and re-invent the wheel. Syncing data across a cluster is very difficult. Lots of technologies already do this, so I would research those first and see if one might fight your needs.

Here are some suggestions: AppFabric, Couchbase, Mongo.

All of those provide clustered data stores that keep data synced amongst the nodes. You don't have to worry about it after you configure the cluster.

Some of them already have load balancing built in and some will need a load balancer in front.

One of the considerations is to consider that nodes in the cluster might fail - so you have to handle that in your application. Another consideration is that data might take a while to propagate across the cluster.

share|improve this answer

Your Answer


