Hey all, first time posting here! I’m the co-author of Xandra, the Cassandra driver for the Elixir programming language.
The driver has been around for a few years but I’m working on some improvements around cluster management. Historically, we opened one control connection for each node in the cluster and listened to status/topology change events from all of those. I have noticed that in the Python and Ruby drivers, however, there's only one single control connection connected to a single node. If the connection goes down, then the control connection tries other nodes. The single control connection queries the node it's connected to for info about the cluster topology and listens to events from that node.
Is this the way to go? Are there downsides to opening more than one control connections?
(Obligatory preemptive apology in case this was already asked or this isn't the right space to ask such a question. I searched the forum for a bit but couldn't quite find anything.)