0
votes

Is it mandatory that we must have minimum of 3 nodes for configuring the AppFabric High Availability, specifically with SQL Server as Cluster Management?

Our Configuration:

  • Cache Cluster (2 windows enterprise hosts using a SQL configuration provider):
  • Cache Client

With the above configuration, we see primary and secondary regions created on the two hosts, however when either one of the hosts is stopped, the other host is still able to serve data to the client.

What is the need for having three nodes then? am I missing something? any insight would be highly appreciated.

2

2 Answers

0
votes

Three nodes is the recommendation to have always a primary and a secondary node up. E.g. if you take one node down for maintenance and one node is crashing your application is still up. But two nodes will work too and might be good enough for your scenario.

0
votes

From the High Availability documentation:

For the high availability feature to help insulate your application from the failure of a cache host, at least three cache hosts must be members of the cache cluster. This is due to a strong consistency requirement stating that there must always be two copies of a cached object or region in a high availability-enabled cache. To maintain two copies of a cache or region, a high availability-enabled cache requires at least two cache hosts to function.

The reason your current setup is working with two servers is that the high availability feature has to be enabled on the cache itself:

High availability is configured at the cache level in the cluster configuration settings. As a property of the cache, you can enable it when you first create the cache by using the New-Cache command with the Secondaries parameter equal to 1. This tells the cache administration Windows PowerShell cmdlets that you want one copy of each cached object or region. If you set the Secondaries parameter to 0, you disable the high availability feature. By default, the high availability option is disabled when you create a new cache.