Orleans.Providers.RavenDB
1.0.3
dotnet add package Orleans.Providers.RavenDB --version 1.0.3
NuGet\Install-Package Orleans.Providers.RavenDB -Version 1.0.3
<PackageReference Include="Orleans.Providers.RavenDB" Version="1.0.3" />
<PackageVersion Include="Orleans.Providers.RavenDB" Version="1.0.3" />
<PackageReference Include="Orleans.Providers.RavenDB" />
paket add Orleans.Providers.RavenDB --version 1.0.3
#r "nuget: Orleans.Providers.RavenDB, 1.0.3"
#:package Orleans.Providers.RavenDB@1.0.3
#addin nuget:?package=Orleans.Providers.RavenDB&version=1.0.3
#tool nuget:?package=Orleans.Providers.RavenDB&version=1.0.3
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/
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Orleans.Reminders (>= 9.1.2)
- RavenDB.Client (>= 6.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.