Install
| Product | Versions |
|---|---|
| .NET |
README
RavenDB-Orleans Provider
π Overview
RavenDB-Orleans Provider is a Microsoft Orleans storage provider that integrates RavenDB as a backing store for grain persistence, reminders, and clustering.
This provider enables high-performance, distributed applications that leverage the event-driven, distributed actor model of Orleans with the scalability and flexibility of RavenDB.
π Features
β Grain Storage β Persist and retrieve Orleans grain states using RavenDB.
β Reminders Provider β Stores Orleans timers and reminders in RavenDB.
β Clustering Support β Uses RavenDB for Orleans cluster membership management.
β Optimized Queries β Efficient indexing and querying using RavenDBβs built-in indexing.
β Fully Asynchronous β Non-blocking, highly scalable storage provider.
β .NET 8 Support β Fully compatible with the latest Orleans & .NET 8.
π§ Configuration
var host = Host.CreateDefaultBuilder(args)
.UseOrleans(siloBuilder =>
{
// Define RavenDB connection settings
string serverUrl = "http://localhost:8080";
string databaseName = "OrleansDemo";
siloBuilder
// Configure clustering with RavenDB
.UseRavenDbMembershipTable(options =>
{
options.Urls = new[] { serverUrl };
options.DatabaseName = databaseName;
})
// Configure grain storage with RavenDB
.AddRavenDbGrainStorage("RavenGrainStorage", options =>
{
options.Urls = new[] { serverUrl };
options.DatabaseName = databaseName;
})
// Configure reminders with RavenDB
.AddRavenDbReminderTable(options =>
{
options.Urls = new[] { serverUrl };
options.DatabaseName = databaseName;
})
// Configure other Orleans settings
.Configure<ClusterOptions>(options =>
{
options.ClusterId = "dev";
options.ServiceId = "OrleansDemo";
})
.Configure<EndpointOptions>(options =>
{
options.AdvertisedIPAddress = IPAddress.Loopback;
options.SiloPort = 11111;
options.GatewayPort = 30000;
})
.ConfigureLogging(logging => logging.AddConsole());
}).Build();
await host.RunAsync();
π¦ Installation
You can install the package via NuGet:
dotnet add package Orleans.Providers.RavenDb
To build the project locally, run:
pwsh ./build.ps1
or (on Linux/macOS)
./build.sh
π Documentation Links
- Official Orleans Documentation: https://dotnet.github.io/orleans/
- RavenDB Documentation: https://ravendb.net/docs/
Changes from Previous Version
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.