A persister built on top of Service Fabric Reliable Collections.
Persistence at a glance
For a description of each feature, see the persistence at a glance legend.
Feature | |
---|---|
Supported storage types | Sagas, Outbox |
Transactions | Yes |
Concurrency control | Pessimistic concurrency via exclusive locks |
Scripted deployment | Not supported |
Installers | None |
Usage
Add a NuGet package reference to NServiceBus.
. Configure the persistence technology using the following configuration API.
var persistence = endpointConfiguration.UsePersistence<ServiceFabricPersistence>();
persistence.StateManager(reliableStateManager);
Transaction timeout
The transaction timeout is a setting that controls the timeout for saga and outbox operations executed by the persistence.
The default transaction timeout is set to four seconds.
var persistence = endpointConfiguration.UsePersistence<ServiceFabricPersistence>();
persistence.StateManager(reliableStateManager, transactionTimeout: TimeSpan.FromSeconds(10));
Limitations
Storage types
Currently saga and outbox storage types are supported. For timeouts, subscriptions or gateway deduplication use either the native capability of the transport of choice or another persistence such as Azure Table Persistence or non-durable persistence.
Viewing the data
Currently, Service Fabric does not provide capabilities to view the data that is stored inside reliable collections. The data has to be programmatically accessed and exposed over customized infrastructure.
Data should be backed up and restored to avoid data loss. See Service Fabric backup and restore APIs for additional information.