gpt4 book ai didi

.net - .NET中的分布式锁定

转载 作者:行者123 更新时间:2023-12-04 17:41:15 25 4
gpt4 key购买 nike

我正在寻找适用于多台机器的锁定机制的建议。就我而言,我基本上只希望能够在2台计算机上启动服务,并阻塞一个直到另一块完成,这是确保在服务计算机发生故障时确保冗余的一种简单方法。

类似于Distributed Lock Service,但专门寻找人们已成功与.NET集成的项目。

最佳答案

我们使用SqlServer的application lock功能进行分布式锁定。如果SqlServer已经是堆栈的一部分,则这特别方便。
为了使它在.NET中更易于使用,我创建了一个NuGet package,可以轻松使用此功能。该库还支持其他后端,例如Postgres,Azure blob存储和Redis。
使用此库,代码如下所示:

var @lock = new SqlDistributedLock("my_lock_name", connectionString);
using (@lock.Acquire())
{
// critical region
}
由于底层的SqlServer功能非常灵活,因此还存在支持TryAcquire语义,超时和异步锁定的重载。

关于.net - .NET中的分布式锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3365234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com