Dynamic Clustering in Distributed Caching

Distributed caching is the ultimate source of high performance, scalability and reliability for your application. Cache cluster is one of the notable features of distributed caching. A cache cluster is a collection of one or more cache servers with every server connected to every other server in the cluster. Runtime adjustment of clusters like increase or decrease in size of the cluster without stopping it is called dynamic clustering. It gives your application 100% up time all the time

Business needs vary throughout the year. Heavy load is experienced on special occasions like Christmas, New Year, and during holiday seasons. On such events, runtime demand increases (In situations like these, you’ve to make frequent runtime adjustments in your application  which demands high performance, reliability and scalability. So, use distributed caching which provides you dynamic clustering.

If any of the cache server goes offline for maintenance reasons, the whole application will go down which is not acceptable in any situation so use distributed caching as it is the best available choice. NCache is a distributed caching solution which provides you dynamic clustering. NCache uses peer-to-peer architecture in which each node is interconnected. If one node goes down then the other takes its responsibility and you don’t experience any down times.

Dynamic clustering helps you get 100% uptime. It also improves reliability, performance and scalability of your application. You can even maintain your cache server, by keeping your application live. Your application won’t go offline during the whole process.

When you make any change on the cluster like addition or removal of cache server, it should be intelligent enough to know the changes made on cluster. Similarly client should be up to date about cache changes too. Otherwise your application will perform oddly.

NCache does not use any OS-based clustering (like Windows Clustering) but instead it creates its own TCP based dynamic cluster of cache servers which helps NCache to provide you 100% uptime without going offline at any stage.

Failover Support by NCache:

When a cache cluster is created, it appoints a cluster coordinator that manages all members of the cluster. The coordinator is the senior-most server in the cluster. If the coordinator ever goes down, this duty passes on to the next senior-most server in the cluster. This auto recovery dynamic cluster of NCache provides your application full failover support.

There are two types of failovers that NCache supports:

  • Failover support within cluster: When a cache server is added or removed from the cluster, the cluster members are updated about the change within cluster so each cache server adjusts its connections to all other cache servers.
  • Failover support for cache clients: This means that all the cache clients also automatically adjust themselves if a cache server is added or removed.

Benefits are:

  • 100% application uptime
  • Reliability
  • Self healing
  • Load balancing
  • Satisfied/happy customer
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: