I would like to know how the Hazelcast autodiscovery works. How do nodes find other nodes in the network? And how do they know when a node is dead?
Asked
Active
Viewed 2,487 times
1 Answers
12
There are 3 different forms of discovery:
- multicast. So we shout around on the network and try to find other members
- tcp/ip: we need to have a few well known members. If one or more of these well known members is online, other members can form a cluster.
- aws: we just log into aws, read out all the instances within a given region, apply some filtering, and what we remains are well known members. From that point on we rely on tcp/ip based clustering.
So this is in short how auto discovery works.
Detection node failure is done based on heart beats. So every x seconds we send a message to a all members in the clusters, the ones that can't reply, are eventually declared dead.

pveentjer
- 10,545
- 3
- 23
- 40
-
Suppose we have a few nodes in multicast or tcp/ip. Every node calls all other nodes? Or is there some kind of grouping, where each node calls only a certain nodes? – Amir Kost Jan 25 '14 at 19:25
-
Every node should be able to call every other node. E.g. when you do a map.get("x") then the call is forwarded to the machine that is responsible for hosting the partition of "x". That is why each member should be able to contact each other member. – pveentjer Jan 26 '14 at 07:57