We’ve just released a public preview version of NServiceBus.Persistence.CosmosDB with support for sagas and outbox, as well as a migration path from Azure Storage persistence.
Azure Cosmos DB is a great choice to persist your saga data and custom data when running in Azure with NServiceBus. As a fully managed, globally distributed, elastically scaled, pay-as-you-go service, your NServiceBus-based systems can benefit from guaranteed single-digit-millisecond latency with 99.999% availability.
The NServiceBus.Persistence.CosmosDB persistence comes with the following benefits:
- Support for the outbox with transactional guarantees for messaging and business data
- Run with SQL persistence guarantees at Cosmos DB cost
- Faster than Azure Storage persistence while transactional
- Fully partitioning aware, unlocking advanced data storage scenarios such a multi-tenancy
- Supported migration from Azure Storage persistence
To use NServiceBus.Persistence.CosmosDB, install the NuGet package:
nuget install-package NServiceBus.Persistence.CosmosDB
Configure NServiceBus endpoint to use Cosmos DB:
endpointConfiguration.UsePersistence<CosmosDBPersistence>() .CosmosClient(new CosmosClient("your-connection-string")) .DatabaseName("your-database-name") .DefaultContainer("container-name", "/partition/key/path");
Now you are ready to use sagas with Azure Cosmos DB.
For detailed configuration options see the documentation.
About the public preview
The NServiceBus.Persistence.CosmosDB component is released as a public preview. Public previews are production supported components offered under a more permissive license, aiming to react more quickly to customers’ needs. Preview components may transition to fully supported versions after the preview period has ended.
User adoption is crucial and helps us decide when to end the preview period. Please let us know if you are using this preview by emailing us at email@example.com.
Where to get it
You can install the preview from NuGet.
The team in Particular