Skip to content

laviua/ham-gossip

Repository files navigation

ham-gossip

Gossip framework written in kotlin

Build Status

A gossip protocol is a procedure or process of computer–computer communication that is based on the way social networks disseminate information or how epidemics spread. It is a communication protocol. Modern distributed systems often use gossip protocols to solve problems that might be difficult to solve in other ways, either because the underlying network has an inconvenient structure, is extremely large, or because gossip solutions are the most efficient ones available.

The term epidemic protocol is sometimes used as a synonym for a gossip protocol, because gossip spreads information in a manner similar to the spread of a virus in a biological community. (wikipedia)

GossipConfiguration:

    id - is a unique id for node
    host - the address this machine listens for peer connections
    port - the port to use on the default adapter on the node's machine
    gossipInterval - how often (in milliseconds) to gossip list of members to other node(s)
    cleanupInterval - timeout when node moved to dead state
    members - seed nodes

Example of configuration:

    val me = GossipNode("xCluster", "127.0.0.1", 50000, "notebook", 0)
    val members = arrayListOf(GossipNode("xCluster", "127.0.0.1", 50001, "seedNode1", 0), GossipNode("xCluster", "127.0.0.1", 50002, "seedNode2", 0))
    val gossipConfiguration = GossipConfiguration(me, members)

About

Gossip framework written in kotlin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages