项目分布式部署那些事(3):一个简单的分布式锁

什么是锁,它用来解决什么问题?

    分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。

    在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,这个时候,便需要使用到分布式锁。

    简单的来说,在一个程序内部使用多线程时大家都离不开锁,锁的类型有很多,为的就是在操作一组资源时不被其它任务干扰而达到错误的结果。分布式锁的意义是一样的,只不过作用域提升到了不同程序、操作系统、服务器之上。

而今天我就分享一个基于Memcached(阿里云OCS)的分布式锁实现。

Demo

Code:

image

效果:

demo

使用方式

需要在appSettings中配置MemcachedServerAddress

image

如何得到它

在GitHub

分布式相关开源地址:https://github.com/RabbitTeam/Distributed

开源地址:https://github.com/RabbitTeam/Distributed/tree/master/Distributed/Distributed.Utility

在NuGet

地址:https://www.nuget.org/packages/Distributed.Utility/

安装命令:Install-Package Distributed.Utility –Pre

写在最后

QQ群:384413261(RabbitHub)

Email:majian159@live.com

原文地址:https://www.cnblogs.com/ants/p/4941651.html