This driver comes with a similar architecture and design as the Java Driver in an attempt to standardise the behaviour of the major features of Cassandra drivers, such as:
- Load balancing, retry, reconnection policies: Developers will find a similar policy design which make it easy to port some infrastructure specific customisations from one language to another.
- Connection pooling: The C# Driver relies on the same connections management strategy where we use asynchronous IOs to enable application designs with massively parallel query execution.
- Failover: If the communication with a coordinator node is impossible, the driver will transparently failover to another node.
- Node discovery: The application only need to provide a couple of nodes that the driver should reach at startup, the entire topology of the cluster will then be discovered, and then maintained over the time using some notifications.
Besides these features, this C# driver also comes with an ADO.NET module to make it simpler to integrate with existing applications or libraries and a Linq module to improve developer productivity.
If you want to learn more about this new driver you can have a look at its developer guide and its API documentation.
It’s available on NuGet, so if you want to give it a try, just type in your Package Manager Console: