15 packages tagged with “high-availability”
Graceterm middleware provides implementation to ensure graceful shutdown of AspNet Core applications. The basic concept is: After aplication received a SIGTERM (a signal asking it to terminate), Graceterm will hold it alive till all pending requests are completed or a timeout ocurr.
Message queueing for your .NET Core project using MongoDB as the data source. Use Cases: - You have a website where users can register. You want to send out a double-opt-in email asynchronously after registering. - You want to send out a reminder email after 24h after registering. - You want to call a third party service that can fail (your own network, downtime of service etc.). You want to retry the call in case of failure. - You have other long running tasks that should be executed after a user's operation. Characteristics - Supports high-availability out of the box. You can run as many processes as you like. MongoDB's atomic operations ensure that messages are processed only once. - Guarantees FIFO dequeueing but cannot guarantee order of execution of your messages when running multiple processes. - Supports different queues, so you can have a high priority queue. - Supports scheduling of messages (define the time when a message should be dequeued)
NuoDb database provider for Entity Framework Core. This package does not include a copy of the native NuoDb library.
File System provider for MultiLock - Leader Election framework for distributed systems. This package includes the core MultiLock framework.
SQL Server provider for MultiLock - Leader Election framework for distributed systems. This package includes the core MultiLock framework.
Distributed clustering extension for Zetian SMTP Server. Features include automatic failover, load balancing, distributed rate limiting, leader election, state replication, and multi-region support.
Apache ZooKeeper provider for MultiLock - Leader Election framework for distributed systems. This package includes the core MultiLock framework.
PostgreSQL provider for MultiLock - Leader Election framework for distributed systems. This package includes the core MultiLock framework.
Azure Blob Storage provider for MultiLock - Leader Election framework for distributed systems. This package includes the core MultiLock framework.
HashiCorp Consul provider for MultiLock - Leader Election framework for distributed systems. This package includes the core MultiLock framework.
In-Memory provider for MultiLock - Leader Election framework for distributed systems. Ideal for testing and development. This package includes the core MultiLock framework.
Redis provider for MultiLock - Leader Election framework for distributed systems. This package includes the core MultiLock framework.
Distributed and in-process semaphore/mutex implementation for .NET using SQL Server as the backend. Provides robust, atomic distributed locking, timeouts, and lock stealing (forced acquisition) for high-availability and scalable applications. Designed for dependency injection, extensibility, and production-grade reliability.
Distributed Circuit Breaker that coordinates state across multiple .NET application instances using Redis. Perfect for microservices, cloud applications, and scaled systems. When any instance detects failures and breaks the circuit, ALL instances immediately stop calling the failing service via Redis coordination. Works with Azure Redis Cache, AWS ElastiCache, Redis Cloud, and self-hosted Redis. Simple fluent API, automatic fallback, distributed locking to prevent race conditions.
🚀 Production-ready distributed coordination library for .NET Standard 2.0+ ✅ Distributed Lock (Redis-based, safe acquire/release, auto-expiration) ✅ Idempotency Helper (retry-safe execution, webhook protection, API patterns) ✅ Saga Coordination (step-by-step orchestration, crash recovery, idempotent steps) ✅ Multiple Backend Support (Redis, InMemory, Composite, Custom stores) ✅ Cancellation Token Support (graceful shutdown handling) ✅ DI-First Design (seamless ASP.NET Core integration) ✅ Unit Testing Ready (InMemoryKeyValueStore for testing) Perfect for microservices, distributed systems, background jobs, webhooks, message queues, and payment processing. Key Features: • Production-ready Redis implementation with Lua scripts • Thread-safe in-memory store for testing • Complete IKeyValueStore interface with all essential operations • TTL-based auto-release prevents deadlocks • Lock ownership validation for safe release • Atomic compare-and-delete operations • Comprehensive examples and documentation .NET Standard 2.0 compatible → works with .NET Core 2.0+, .NET 5+, .NET 6+, .NET 7+, .NET 8+, .NET 9+