6

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?

kryger
  • 12,906
  • 8
  • 44
  • 65
Amir Kost
  • 2,148
  • 1
  • 16
  • 30

1 Answers1

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