Excalibur.LeaderElection 10.0.0-alpha.9

This is a prerelease version of Excalibur.LeaderElection.
dotnet add package Excalibur.LeaderElection --version 10.0.0-alpha.9
                    
NuGet\Install-Package Excalibur.LeaderElection -Version 10.0.0-alpha.9
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Excalibur.LeaderElection" Version="10.0.0-alpha.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Excalibur.LeaderElection" Version="10.0.0-alpha.9" />
                    
Directory.Packages.props
<PackageReference Include="Excalibur.LeaderElection" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Excalibur.LeaderElection --version 10.0.0-alpha.9
                    
#r "nuget: Excalibur.LeaderElection, 10.0.0-alpha.9"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Excalibur.LeaderElection@10.0.0-alpha.9
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Excalibur.LeaderElection&version=10.0.0-alpha.9&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Excalibur.LeaderElection&version=10.0.0-alpha.9&prerelease
                    
Install as a Cake Tool

Excalibur.LeaderElection

Distributed leader election infrastructure for the Excalibur framework.

Installation

dotnet add package Excalibur.LeaderElection

Features

  • ILeaderElection - Leader election abstraction
  • ILeaderElectionFactory - Factory for multi-resource leadership
  • IHealthBasedLeaderElection - Health-aware leader election
  • InMemoryLeaderElection - In-memory implementation for testing
  • TypeForwarders for backward compatibility
  • AOT-compatible with full Native AOT support

Usage

// Register leader election with in-memory (for testing)
services.AddInMemoryLeaderElection();

// Subscribe to leadership changes
leaderElection.LeaderChanged += (sender, args) =>
{
    if (args.IsLeader)
        Console.WriteLine("I am now the leader!");
};

// Acquire leadership
await leaderElection.AcquireLeadershipAsync(cancellationToken);

Provider Packages

Choose the provider that matches your infrastructure:

Package Backend Use Case
Excalibur.LeaderElection.SqlServer SQL Server On-premises, Azure SQL
Excalibur.LeaderElection.Redis Redis High-performance, distributed cache
Excalibur.LeaderElection.Consul HashiCorp Consul Service mesh, multi-datacenter
Excalibur.LeaderElection.Kubernetes Kubernetes Lease API Cloud-native Kubernetes deployments
  • Excalibur.Dispatch.LeaderElection.Abstractions - Canonical interfaces

License

This project is multi-licensed under:

See LICENSE for details.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (7)

Showing the top 5 NuGet packages that depend on Excalibur.LeaderElection:

Package Downloads
Excalibur.LeaderElection.SqlServer

SQL Server implementation of leader election for the Excalibur framework. Uses sp_getapplock for distributed coordination with automatic failover and session-based locking. PRE-RELEASE: the public API is not frozen and may change between pre-release builds. Not recommended for production use. Known issues: https://docs.excalibur-dispatch.dev/docs/known-issues

Excalibur.LeaderElection.Redis

Redis implementation of leader election for the Excalibur framework. Uses SET NX with TTL for distributed coordination with automatic lease renewal. PRE-RELEASE: the public API is not frozen and may change between pre-release builds. Not recommended for production use. Known issues: https://docs.excalibur-dispatch.dev/docs/known-issues

Excalibur.LeaderElection.Consul

Consul-based leader election implementation for the Excalibur framework using session-based distributed locking. PRE-RELEASE: the public API is not frozen and may change between pre-release builds. Not recommended for production use. Known issues: https://docs.excalibur-dispatch.dev/docs/known-issues

Excalibur.LeaderElection.Postgres

PostgreSQL implementation of leader election for the Excalibur framework. Uses advisory locks for distributed coordination with automatic failover and session-based locking. PRE-RELEASE: the public API is not frozen and may change between pre-release builds. Not recommended for production use. Known issues: https://docs.excalibur-dispatch.dev/docs/known-issues

Excalibur.LeaderElection.Kubernetes

Kubernetes-based leader election implementation for the Excalibur framework. Provides distributed coordination using Kubernetes Lease resources for cloud-native applications. PRE-RELEASE: the public API is not frozen and may change between pre-release builds. Not recommended for production use. Known issues: https://docs.excalibur-dispatch.dev/docs/known-issues

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.0-alpha.9 76 8/31/2026
10.0.0-alpha.8 103 8/14/2026
10.0.0-alpha.7 99 8/13/2026
10.0.0-alpha.6 107 8/11/2026
10.0.0-alpha.5 105 8/10/2026
10.0.0-alpha.4 91 8/10/2026
3.0.0-alpha.216 121 6/30/2026
3.0.0-alpha.215 110 6/23/2026
3.0.0-alpha.214 109 6/23/2026
3.0.0-alpha.208 115 6/11/2026
3.0.0-alpha.207 109 6/11/2026
3.0.0-alpha.205 106 6/10/2026
3.0.0-alpha.204 109 6/8/2026
3.0.0-alpha.203 111 6/8/2026
3.0.0-alpha.202 101 6/8/2026
3.0.0-alpha.201 107 6/8/2026
3.0.0-alpha.199 107 6/8/2026
3.0.0-alpha.198 100 5/28/2026
3.0.0-alpha.197 119 5/28/2026
3.0.0-alpha.194 112 5/20/2026
Loading failed