A message broadcasting library based on the Plumtree/HyParView algorithms.
- 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
- 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.