• 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 org.apache.catalina.tribes.membership.McastService and is currently the only implementation. This implementation uses multicast heartbeats for member discovery.

    address

    The multicast address that the membership will broadcast its presence and listen for other heartbeats on. The default value is 228.0.0.4 Make sure your network is enabled for multicast traffic.
    The multicast address, in conjunction with the port is what creates a cluster group. To divide up your farm into several different group, or to split up QA from production, change the port or the address
    Previously known as mcastAddr.

    port

    The multicast port, the default value is 45564
    The multicast port, in conjunction with the address is what creates a cluster group. To divide up your farm into several different group, or to split up QA from production, change the port or the address

    frequency

    The frequency in milliseconds in which heartbeats are sent out. The default value is 500 ms.
    In most cases the default value is sufficient. Changing this value, simply changes the interval in between heartbeats.

    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 3000 ms. This means, that if a heartbeat is not received from a member in that timeframe, the membership component will notify the cluster of this.
    On a high latency network you may wish to increase this value, to protect against false positives.
    Apache Tribes also provides a TcpFailureDetector that will verify a timeout using a TCP connection when a heartbeat timeout has occurred. This protects against false positives.

    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 0.0.0.0 and sometimes on multihomed hosts this becomes a problem.

    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 org.apache.catalina.tribes.Member.getDomain() method returns the value specified here.

    soTimeout

    The sending and receiving of heartbeats is done on a single thread, hence to avoid blocking this thread forever, you can control the SO_TIMEOUT value on this socket.
    If a value smaller or equal to 0 is presented, the code will default this value to frequency

    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.
    The default is true.

    recoveryCounter

    When recoveryEnabled==true this value indicates how many times an error has to occur before recovery is attempted. The default is 10.

    recoverySleepTime

    When recoveryEnabled==true this value indicates how long time (in milliseconds) the system will sleep in between recovery attempts, until it recovers successfully. The default is 5000 (5 seconds).

    localLoopbackDisabled

    Membership uses multicast, it will call java.net.MulticastSocket.setLoopbackMode(localLoopbackDisabled). When localLoopbackDisabled==true multicast messages will not reach other nodes on the same local machine. The default is false.

    Comments

    Notice: This comments section collects your suggestions on improving documentation for Apache Tomcat.

    If you have trouble and need help, read Find Help page and ask your question on the tomcat-users mailing list. Do not ask such questions here. This is not a Q&A section.

    The Apache Comments System is explained here. Comments may be removed by our moderators if they are either implemented or considered invalid/off-topic.

    内蒙古11选5开奖结果