Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

Service Fabric Persistence

NuGet Package: NServiceBus.Persistence.ServiceFabric (3.x)
Target Version: NServiceBus 8.x

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 typesSagas, Outbox
TransactionsYes
Concurrency controlPessimistic concurrency via exclusive locks
Scripted deploymentNot supported
InstallersNone

Usage

Add a NuGet package reference to NServiceBus.Persistence.ServiceFabric. 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.

Samples

Related Articles