什么是鎖,它用來解決什么問題?
分布式鎖是控制分布式系統之間同步訪問共享資源的一種方式。在分布式系統中,常常需要協調他們的動作。如果不同的系統或是同一個系統的不同主機之間共享了一個或一組資源,那么訪問這些資源的時候,往往需要互斥來防止彼此干擾來保證一致性,在這種情況下,便需要使用到分布式鎖。
在分布式系統中,常常需要協調他們的動作。如果不同的系統或是同一個系統的不同主機之間共享了一個或一組資源,那么訪問這些資源的時候,往往需要互斥來防止彼此干擾來保證一致性,這個時候,便需要使用到分布式鎖。
簡單的來說,在一個程序內部使用多線程時大家都離不開鎖,鎖的類型有很多,為的就是在操作一組資源時不被其它任務干擾而達到錯誤的結果。分布式鎖的意義是一樣的,只不過作用域提升到了不同程序、操作系統、服務器之上。
而今天我就分享一個基於Memcached(阿里雲OCS)的分布式鎖實現。
Demo
Code:
效果:
使用方式
需要在appSettings中配置MemcachedServerAddress
如何得到它
在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