The NetworkTopologyStrategy
lets you define how many replicas would be placed in different datacenters, hence making it suitable for multidata center deployments. It's a rack-aware replication strategy, so it tries to avoid two replicas to be placed on the same rack. So, if one rack fails, another replica is available on a different rack in the datacenter and we need not to go to different datacenter for the replica. In this strategy, the sum of the datacenter replication factor is the effective replication factor for the keyspace. For example, if we have two datacenters, dc1
and dc2
, with replication factor 3
and 2
, respectively, then the replication factor of the keyspace will be 5
.
We can create a keyspace with NetworTopologyStrategy
and a replication factor of 5 with two datacenters dc1
and dc2
, as follows:
cqlsh> CREATE KEYSPACE cassandrademodb WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 2};