#algorithm #node #broadcasting #message #broadcast #plumtree #plumtree-hy-par-view

plumcast

A message broadcasting library based on the Plumtree/HyParView algorithms

9 releases

0.1.5 Feb 20, 2019
0.1.4 Feb 19, 2019
0.1.3 Jan 30, 2019
0.1.0 Jul 28, 2018
0.0.3 Jul 21, 2018

#6 in #broadcasting

MIT license

130KB
3K SLoC

plumcast

Documentation Build Status Code Coverage License: MIT

A message broadcasting library based on the Plumtree/HyParView algorithms.

Documentation

Properties

Pros

  • Nearly optimal message transmitting count
    • Usually messages are broadcasted via a spanning tree
    • Only the nodes interested in the same messages belong to the same cluster
  • Scalable
    • Theoretically, it can handle ten-thousand of nodes or more
  • High fault tolerance
    • Spanning trees are automatically repaired if there are crashed nodes
  • Dynamic membership
    • Nodes can be added to (removed from) a cluster at any time

Cons

  • No strong guarantee about connectivity of the nodes in a cluster
  • No strong guarantee about delivery count of a message
  • No guarantee about messages delivery order

If some of the above guarantees are mandatory for your application, it is need to be provided by upper layers.

References

Dependencies

~4MB
~83K SLoC