We’ve just released NServiceBus.Persistence.AzureTable 3.0.0.
NServiceBus.Persistence.AzureTable is a new package which replaces NServiceBus.Persistence.AzureStorage. The new package is much faster, more reliable, and fully backward compatible with all versions of the old package.
This version leverages improvements in the latest Microsoft.Azure.Cosmos.Table SDK, which replaced the WindowsAzure.Storage SDK. With the introduction of the new SDK, the persister can be used with either Azure Table Storage or Azure Cosmos DB Table API by changing only the connection string.
It is now possible for transactions to span saga data, business data, and the outbox (if activated), which finally brings the full power of NServiceBus to Azure Storage Table and Azure Cosmos DB Table API. By default, the persistence does not attempt to commit saga data and/or business data atomically and instead uses the saga ID as a partition key. Using the TableBatchOperation API, saga data and/or business data can be committed in a single transaction if everything is stored in the same partition within the same table.
Saga loading and updating is now 170% faster for complex saga data entities. It is over 220% faster for simple saga data entities that only contain data types that are supported in Azure Table without requiring additional serialization. In addition, newly stored sagas have been optimized to reduce the number of storage operations required to load sagas by their correlation properties. These changes improve the throughput of the NServiceBus endpoints using Azure Table Storage and reduce operational and data transfer costs, since fewer operations are executed against table storage. For new endpoints, which do not require backward compatibility with sagas stored with NServiceBus.Persistence.AzureStorage, you can squeeze out even more speed by disabling compatibility mode.
The persistence also accepts pre-configured table clients, enabling various options for authenticating with table services, including the connection string option. This is especially useful for advanced authentication mechanisms like Active Directory integration.
When upgrading, please refer to the upgrade guide.
Where to get it
You can install the new version from NuGet.
The team in Particular