Web lists-archives.com

Bug#858044: ITP: dsync -- A distributed sync package.

Package: wnpp
Severity: wishlist
Owner: Henti Smith <henti@xxxxxxxxxxxxxx>
X-Debbugs-CC: debian-devel@xxxxxxxxxxxxxxxx, pkg-go-maintainers@xxxxxxxxxxxxxxxxxxxxxxx

* Package name    : dsync
  Version         : 0.0~git20170209.0.b9f7da7-1
  Upstream Author : Minio Cloud Storage
* URL             : https://github.com/minio/dsync
* License         : Apache-2.0
  Programming Lang: Go
  Description     : A distributed sync package.

 dsync Slack (https://slack.minio.io) Go Report Card
 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
 of Minio Object Storage (https://minio.io/). For this we needed a
 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.