A distributed system has many discrete processes that run on a multitude of arbitrary devices and networks yet to the user it appears to be a single, coherent program. Distributed systems can provide availability and fault tolerance.
Distribution requires data replication but fault-tolerance and exact consistency are simply not incompatable.
Eventual consistency allows peers who wish to replicate an opportunity to update regardless of the state of synchronization.
This implementation is limited to the distribution of peer information and data structures in order to support heterogeneous infrastructure.
What is the Gossip Protocol
The gossip protocol helps to manage inconsistencies due to partition loss and process failure in a distributed system.
- Periodic, binary interactions
- Low frequency of interactions
- Randomization of interactions
- Agents adapt state on interaction
- Size-Bound data exchanges
- Reliability is UDP-ish
- Each peer has membership. In this protocol, the knowledge of membership is distributed to each member at a regular interval.
Convergence rate is the randomization algorithm combind with the frequency at which it is applied. Gossip protocols can be adapted to tolerate process crashes by adjusting the convergence rate.
What is the Quorum Consensus Protocol
A computer at
var vine = Vine() vine .listen(8000) .set('foo', 'hello, world')
A computer at
var vine = Vine() vine .listen(8000) .join(8000, '192.168.0.2') .on('data', 'foo')