DistributedLock
aspnetcore-redis-rate-limiting
DistributedLock | aspnetcore-redis-rate-limiting | |
---|---|---|
5 | 3 | |
1,667 | 193 | |
- | - | |
8.5 | 7.6 | |
26 days ago | about 1 month ago | |
C# | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
DistributedLock
-
Ideas for concurrency control
You want a distributed lock then, maybe this project would help? https://github.com/madelson/DistributedLock
-
Distributed pool
Otherwise, you can probably look for libraries that do distributed locks (mutex or semaphore) like this one? https://github.com/madelson/DistributedLock
-
System Design Interview Question: Implementing a Scheduler
That’s it! The benefit of this approach is that the job does not depend on a particular framework or set of tools. It can be run as either a console application, or used in unit tests. What is most important to note is that concurrent jobs can affect subscriptions. So before sending a request to the payment gateway, always make sure that you have locked the resource. Every modern database supports distributed locks, and there are hundreds of frameworks on top of them. Examples of this can be found at https://github.com/madelson/DistributedLock. It is not a complicated task, but it is one that absolutely needs to be done.
-
How should I manage replicated backend service that has hosted background service
Seems like there are some solutions and libs out there like: Community made : https://github.com/madelson/DistributedLock Redis supported: https://github.com/samcook/RedLock.net
- What lock should I use to lock a User Object while be able to run methods async inside the lock?
aspnetcore-redis-rate-limiting
-
Distributed pool
Using Redis is a viable solution for this and a quick search on GitHub reveals this implementation built on-top of .NET 7+ rate-limiting components:https://github.com/cristipufu/aspnetcore-redis-rate-limiting/tree/master
-
.Net 7 rate limiting with redis distributed cache with tenant based architecture
Found the GitHub project I was talking about which is trying to do the same - https://github.com/cristipufu/aspnetcore-redis-rate-limiting
What are some alternatives?
RedLock.net - An implementation of the Redlock algorithm in C#
ratelimit.org - Rate Limited Requests made easy
AsyncEx - A helper library for async/await.
AspNetCoreRateLimit - ASP.NET Core rate limiting middleware
Hangfire - An easy way to perform background job processing in .NET and .NET Core applications. No Windows Service or separate process required
cachegrand - cachegrand - a modern data ingestion, processing and serving platform built for today's hardware
QuartzNet - Quartz Enterprise Scheduler .NET
StackExchange.Redis.Extensions
ASP.NET Core - ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
cqrs-clean-eventual-consistency - CQRS, using Clean Architecture, multiple databases and Eventual Consistency