What is the difference between failover vs high availability?

Techie picture Techie · May 29, 2015 · Viewed 28.8k times · Source

According to my reading on jboss documentation it says,

We define high availability as the ability for the system to continue functioning after failure of one or more of the servers. A part of high availability is failover which we define as the ability for client connections to migrate from one server to another in event of server failure so client applications can continue to operate.

Is failover part of high availability? How can we differentiate failover vs high availability?

Answer

BitMask777 picture BitMask777 · Nov 20, 2015

Failover is a means of achieving high availability (HA). Think of HA as a feature and failover as one possible implementation of that feature. Failover is not always the only consideration when achieving HA.

For example, Cassandra achieves HA through replication, but the degree of availability is determined by data consistency settings. In essence, these settings dictate how many nodes need to respond for an action (a read or a write) to succeed. Requiring more nodes to respond means less availability, and requiring fewer nodes means more availability. That's an example of HA that has nothing to do with failover, strictly speaking.