Skip navigation.
Home

Disaster recovery node on Ephemeral Cassandra cluster

Ephemeral Nodes in EC2 are good and bad... No guaranteed storage (like EBS, Elastic Block Storage), but you get guaranteed full disk bandwidth, which you can make even better if you RAID0 the disks.

Suppose you built the Cassandra cluster by making every node, but one, an ephemeral node...
And then you set up ONE node, as EBS backed up node (with unpredictable or relatively bad performance).
Then you set up that node to be the seed node for all other nodes, which makes schema management even easier.

On all ephemeral nodes, set up Snitch (in cassandra.yaml) as:
endpoint_snitch: org.apache.cassandra.locator.PropertyFileSnitch

Then configure the Disaster recovery node, to "exist" in a different data center (by setting up cassandra-topology.properties):
10.0.0.219=DR:rack1
# default for unknown nodes
default=east:rack1

Now... whenever using a replication factor of 3, the 2nd write will always hit the "DR data center."
Because it's writing to EBS, it might be slower, and thus not participate in all queries... but that's why you have the ephemerals.
Meanwhile, it will "eventually persist all data into the EBS" (eventually = within milliseconds).