Orleans.Clustering.Rqlite
8.2.0
dotnet add package Orleans.Clustering.Rqlite --version 8.2.0
NuGet\Install-Package Orleans.Clustering.Rqlite -Version 8.2.0
<PackageReference Include="Orleans.Clustering.Rqlite" Version="8.2.0" />
paket add Orleans.Clustering.Rqlite --version 8.2.0
#r "nuget: Orleans.Clustering.Rqlite, 8.2.0"
// Install Orleans.Clustering.Rqlite as a Cake Addin #addin nuget:?package=Orleans.Clustering.Rqlite&version=8.2.0 // Install Orleans.Clustering.Rqlite as a Cake Tool #tool nuget:?package=Orleans.Clustering.Rqlite&version=8.2.0
Orleans Rqlite Providers
Orleans is a framework that provides a straight-forward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns.
Rqlite rqlite is a distributed relational database that combines the simplicity of SQLite with the robustness of a fault-tolerant, highly available cluster. It's developer-friendly, its operation is straightforward, and its design ensures reliability with minimal complexity.
Why Orleans 💖 Rqlite
- Orleans is used to manage application logic, distribute actors to handle user requests, and distribute workload.
- Rqlite is used to store and manage distributed data, ensuring consistency and high reliability of the system.
This setup optimizes performance and scalability for small-scale distributed applications while ensuring data consistency and availability. Such a combination is particularly suitable for applications requiring high reliability and easy scalability, such as IoT applications, multiplayer games, or high-traffic web systems.
Orleans.Rqlite
is a package that use Rqlite as a backend for Orleans providers like Cluster Membership, Grain State storage and Reminders.
Installation
Nuget Packages are provided:
- Orleans.Persistence.Rqlite
- Orleans.Clustering.Rqlite
Coming soon
- Orleans.Reminder.Rqlite
- Authen username/password for Rqlite
Silo
IHostBuilder builder = Host.CreateDefaultBuilder(args)
.UseOrleans(silo =>
{
silo.Configure<ClusterOptions>(options =>
{
options.ClusterId = "DEV";
options.ServiceId = "DEV";
});
silo.UseRqliteClustering(option =>
{
option.Uri = "http://localhost:4001";
});
silo.UseRqliteReminder((RqliteReminderStorageOptions options) =>
{
});
silo.AddRqliteGrainStorage("test", options =>
{
options.Uri = "http://localhost:4001";
});
silo.ConfigureLogging(logging => logging.AddConsole());
silo.ConfigureEndpoints(
siloPort: 11111,
gatewayPort: 30001
);
silo.Configure<ClusterMembershipOptions>(options =>
{
options.EnableIndirectProbes = true;
options.UseLivenessGossip = true;
});
})
.UseConsoleLifetime();
using IHost host = builder.Build();
await host.RunAsync();
Client
var builder = WebApplication.CreateBuilder(args);
builder.Host.UseOrleansClient(client =>
{
client.UseRqliteClustering(option =>
{
option.Uri = "http://localhost:4001";
});
client.Configure<ClusterOptions>(options =>
{
options.ClusterId = "DEV";
options.ServiceId = "DEV";
});
});
update orleans to ver8.2.0
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. |
-
net8.0
- Microsoft.Orleans.Runtime (>= 8.2.0)
- RqliteNet (>= 1.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.