Cassandra Config


Handling growth.

The system depends on it’s users. Each user’s machine will be a Cassandra node that forms part of the cluster. Because it cant be expected for the user’s machine to be on all the time each node will store the full dataset, to deal with this potential issue the replication factor of the keyspace containing the messages will be incremented when a new user joins the cluster. Upon start-up their local Cassandra server will bootstrap to the cluster and become part of the ring. The token used for this operation will be 0, so that Cassandra itself can decide what token should be supplied and since each node stores 100% of the data, the token will not have a negative impact on the balance of the cluster.


New user joining the cassandra cluster - Usecase diagram

Configuring Cassandra to allow for such behaviour. Firstly a simple keyspace was used to allow for strict control of the replication factor, next the rpc_address configuration was set to 0.0.0.0 so that cassandra listents on all interfaces for incoming traffic on port 9160 and the listen_address was left with <INTERFACE_IP>, a tag that will be picked up by CassTor and replaced with an interface address that CassTor will detect on it’s first run.