Failing over to a remote data center
The foundation of any robust load balancing strategy is DCAwareRoundRobinPolicy
, because we'll assume you will be deploying to more than one data center. However, the implementation hides an interesting failover feature in the constructor overrides, which is worth a look.
In Chapter 4, Data Centers, we discussed several use cases for multiple data centers, with failover being one key scenario. If your desire is to fail over to a backup data center, and should replicas in your client's primary data center fail, you might be interested in the two additional parameters you can pass to the DCAwareRoundRobinPolicy
constructor, which are mentioned here:
usedHostsPerRemoteDc
: This vaguely named parameter allows you to specify a number of hosts in a remote data center that can be used by this client, should your local data center fail to satisfy the request. Note that by default, this will be ignored forLOCAL_ONE
andLOCAL_QUORUM
consistency levels.allowRemoteDCsForLocalConsistencyLevel...