netsync
netsync achieves reliable synchronization among unreliable processes in a network.
Motivation
Distributed algorithms consist of autonomous processes which participate in a network protocol. However, network communication is often asynchronous and protocol participants can fail. Both factors contribute to the complexity of distributed software architectures. netsync is an implementation of the Paxos algorithm to deal with some of these complexities by enabling unreliable, distributed processes to reach agreement on decisions.
Installation
- Make sure you have got a working Go environment. See the install instructions. netsync targets the 'release' tag.
- Install the Go implementation of Google's protocol buffers.
- Since netsync installs itself as a Go package, the environment variable $GOROOT must be set.
- git clone git://github.com/ahorn/gonetsync.git
- cd gonetsync && make install
License
netsync is an open source project, distributed under the MIT license.