High Availability (HA)

The two main components of any HA deployment are failover for fault tolerance and load balancing for maintaining an acceptable level of performance. NXLog Agent ships with built-in failover capabilities and integrates with third-party load-balancing solutions.

Failover

Configuring a cluster of redundant, multiple systems that provide identical functionality is the basis for implementing failover. Such a cluster is also known as an active-passive cluster. See Configure a relay cluster in failover mode for instructions.

The following diagram illustrates NXLog Agent instances collecting logs from different sources and forwarding them to an NXLog Agent relay cluster. Each agent can define the same or different active and passive nodes.

NXLog Agent relay cluster with failover
Figure 1. NXLog Agent relay cluster in failover mode

The above architecture works with agent-based log collection and can only work with agentless log collection if the log source supports failover configuration.

Load balancing

The primary objective of a load balancer is to distribute the workload across a cluster of nodes to mitigate performance issues, such as:

  • Sudden spikes in workload could overwhelm a standalone system, possibly bringing it down.

  • In an unmanaged cluster, some compute resources will inevitably work at peak capacity while others sit idle due to the random nature of tasks and network traffic. A load balancer can efficiently distribute network traffic and tasks across multiple nodes, optimizing resource utilization and maximizing throughput.

You can also use load balancing to scale out your application and increase its performance and redundancy.

Architecture

Load balancing works in active-active mode, providing the most cost-effective use of a cluster and the highest performance. When comparing the following diagram with the previous one for Failover, two significant differences are apparent:

  1. An additional NXLog Agent Failover tier acts as a mediator between the Log Sources and the NXLog Agent Load Balancing cluster.

  2. All nodes in the NXLog Agent Load Balancing cluster are now active with no idle nodes.

For this reason, load balancers are associated first and foremost with performance rather than fault tolerance.

NXLog Agent load balancing cluster
Figure 2. Load balancing with an NXLog Agent relay cluster