Chapter 2. Components

Table of Contents

2.1. Communication module
2.2. Cluster Consensus Membership
2.3. Cluster Plumbing Library
2.4. IPC Library
2.5. Non-blocking logging daemon

The Heartbeat messaging layer comprises several interlocking but distinct components.

2.1. Communication module

The Heartbeat communication module provides strongly authenticated, locally-ordered multicast messaging over basically any media, IP-based or not. Heartbeat supports cluster communications over the following network link types:

  • unicast UDP over IPv4;
  • broadcast UDP over IPv4;
  • multicast UDP over IPv4;
  • serial link communications.
[Warning]Warning

Please consider some important caveats with regard to serial link connectivity (see the ha.cf man page, man ha.cf). As a general rule: when in doubt, serial links should be avoided.

Heartbeat can detect node failure reliably in less than a half-second. It will register with the system watchdog timer if configured to do so.

The heartbeat layer has an API which provides the following classes of services:

  • intra-cluster communication - sending and receiving packets to cluster nodes
  • configuration queries
  • connectivity information (who can the current node hear packets from) - both for queries and state change notifications
  • basic group membership services