The Cluster Membership object
Table of Contents
Introduction
The membership component in the Apache Tribes Channel is responsible for dynamic discovery of other members(nodes) in the cluster.
Default Implementation
The default implementation of the cluster group notification is built on top of multicast heartbeats
sent using UDP packets to a multicast IP address.
Cluster members are grouped together by using the same multicast address/port combination.
Each member sends out a heartbeat with a given interval (frequency
), and this
heartbeat is used for dynamic discovery.
In a similar fashion, if a heartbeat has not been received in a timeframe specified by dropTime
ms. a member is considered suspect and the channel and any membership listener will be notified.
Attributes
Multicast Attributes
Attribute | Description |
---|---|
className |
The default value is |
address |
The multicast address that the membership will broadcast its presence and listen
for other heartbeats on. The default value is |
port |
The multicast port, the default value is |
frequency |
The frequency in milliseconds in which heartbeats are sent out. The default value is |
dropTime |
The membership component will time out members and notify the Channel if a member fails to send a heartbeat within
a give time. The default value is |
bind |
Use this attribute if you wish to bind your multicast traffic to a specific network interface.
By default, or when this attribute is unset, it tries to bind to |
ttl |
The time-to-live setting for the multicast heartbeats. This setting should be a value between 0 and 255. The default value is VM implementation specific. |
domain |
Apache Tribes has the ability to logically group members into domains, by using this domain attribute.
The |
soTimeout |
The sending and receiving of heartbeats is done on a single thread, hence to avoid blocking this thread forever,
you can control the |
recoveryEnabled |
In case of a network failure, Java multicast socket don't transparently fail over, instead the socket will continuously
throw IOException upon each receive request. When recoveryEnabled is set to true, this will close the multicast socket
and open a new socket with the same properties as defined above. |
recoveryCounter |
When |
recoverySleepTime |
When |
localLoopbackDisabled |
Membership uses multicast, it will call |