The best knowledge base on Apache Cassandra®

Helping platform leaders, architects, engineers, and operators build scalable real time data platforms.

9/17/2020

Reading time:1 min

DataStax-Examples/concurrent-requests-csharp

by John Doe

This example shows how execute multiple concurrent requests with Apache Cassandra™ using the C# DataStax Driver.Contributors: João Reis - derived from hereObjectivesHow to execute async concurrent requests while managing parallelism using the C# DataStax DriverProject LayoutProgram.cs - The main application file containing the logic for managing the number of simultaneous requests.How this WorksThis example creates a single tbl_sample_kv table in the examples keyspace and writes records to that table asynchronously while capping the max in-flight requests based on the configured concurrency level.Setup and RunningPrerequisites.NET Core 2.1A Cassandra, DDAC, DSE database running ( docker is a nice option for local install - see docs )If you do not currently have a C*/DDAC/DSE cluster available you can start a DDAC cluster using Docker via the following command:docker run -e DS_LICENSE=accept --name ddac -p 127.0.0.1:9042:9042 -d datastax/ddac If you have a DDAC/C*/DSE cluster but it is not located on localhost you need to change the contact point address located on line 33 to point to your cluster IP..AddContactPoint("XX.XX.XX.XX")RunningFrom the root directory of this project, first run the following command to restore the dependencies:dotnet restoreOnce the restore has completed run the following command to build the application:dotnet buildFinally to run the application use the following command:dotnet runWhen running you should see output similar to the following:Executing 10000 queries with a concurrency level of 32, i.e., 32 tasks. Each task will process up to 313 operations.Finished executing 10000 queries with a concurrency level of 32.```

This example shows how execute multiple concurrent requests with Apache Cassandra™ using the C# DataStax Driver.

Contributors: João Reis - derived from here

Objectives

  • How to execute async concurrent requests while managing parallelism using the C# DataStax Driver

Project Layout

  • Program.cs - The main application file containing the logic for managing the number of simultaneous requests.

How this Works

This example creates a single tbl_sample_kv table in the examples keyspace and writes records to that table asynchronously while capping the max in-flight requests based on the configured concurrency level.

Setup and Running

Prerequisites

  • .NET Core 2.1
  • A Cassandra, DDAC, DSE database running ( docker is a nice option for local install - see docs )

If you do not currently have a C*/DDAC/DSE cluster available you can start a DDAC cluster using Docker via the following command:

docker run -e DS_LICENSE=accept --name ddac -p 127.0.0.1:9042:9042 -d datastax/ddac

If you have a DDAC/C*/DSE cluster but it is not located on localhost you need to change the contact point address located on line 33 to point to your cluster IP.

.AddContactPoint("XX.XX.XX.XX")

Running

From the root directory of this project, first run the following command to restore the dependencies:

dotnet restore

Once the restore has completed run the following command to build the application:

dotnet build

Finally to run the application use the following command:

dotnet run

When running you should see output similar to the following:

Executing 10000 queries with a concurrency level of 32, i.e., 32 tasks. Each task will process up to 313 operations.
Finished executing 10000 queries with a concurrency level of 32.```