Update README.md
This commit is contained in:
32
README.md
32
README.md
@ -1,3 +1,33 @@
|
||||
|
||||
Gossip protocol is a method for a group of nodes to discover and check the livelyness of a cluster. More information can be found at http://en.wikipedia.org/wiki/Gossip_protocol.
|
||||
|
||||
A gossip implementation forked from https://code.google.com/p/java-gossip/
|
||||
The original implementation was forked from https://code.google.com/p/java-gossip/. Several bug fixes and changes have already been added.
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
To gossip you need one or more seed nodes. Seed is just a list of places to initially connect to.
|
||||
|
||||
GossipSettings settings = new GossipSettings();
|
||||
int seedNodes = 3;
|
||||
ArrayList<GossipMember> startupMembers = new ArrayList<GossipMember>();
|
||||
for (int i = 1; i < seedNodes+1; ++i) {
|
||||
startupMembers.add(new RemoteGossipMember("127.0.0." + i, 2000, i + ""));
|
||||
}
|
||||
|
||||
Here we start five gossip processes and check that they discover each other. (Normally these are on different hosts but here we give each process a distinct local ip.
|
||||
|
||||
ArrayList<GossipService> clients = new ArrayList<GossipService>();
|
||||
int clusterMembers = 5;
|
||||
for (int i = 1; i < clusterMembers+1; ++i) {
|
||||
GossipService gossipService = new GossipService("127.0.0." + i, 2000, i + "", LogLevel.DEBUG, startupMembers, settings);
|
||||
clients.add(gossipService);
|
||||
gossipService.start();
|
||||
}
|
||||
|
||||
Later we can check that the nodes discover each other
|
||||
|
||||
Thread.sleep(10000);
|
||||
for (int i = 0; i < clusterMembers; ++i) {
|
||||
Assert.assertEquals(4, clients.get(i).get_gossipManager().getMemberList().size());
|
||||
}
|
||||
|
Reference in New Issue
Block a user