* Package name : dsync
Version : 0.0~git20170209.0.b9f7da7-1
Upstream Author : Minio Cloud Storage
* License : Apache-2.0
Programming Lang: Go
Description : A distributed sync package.
A distributed locking and syncing
package for Go. Introduction dsync is a package for doing distributed
locks over a network of n nodes. It is designed with simplicity in
mind and hence offers limited scalability (n <= 16). Each node will be
connected to all other nodes and lock requests from any node will be
broadcast to all connected nodes. A node will succeed in getting the lock
if n/2 + 1 nodes (whether or not including itself) respond positively. If
the lock is acquired it can be held for as long as the client desires
and needs to be released afterwards. This will cause the release to be
broadcast to all nodes after which the lock becomes available again.
Motivation This package was developed for the distributed server version
distributed locking mechanism for up to 16 servers that each would
be running minio server. The locking mechanism itself should be a
reader/writer mutual exclusion lock meaning that it can be held by a
single writer or an arbitrary number of readers.