KNOWLEDGE BASE ARTICLE

High Availability and Load Balancing with Umango

How to plan for resiliency and throughput while respecting session constraints from MFD-initiated workflows.


Overview

Umango is optimized for high throughput and can scale horizontally; however, scan sessions initiated from MFDs have architectural constraints that affect how load balancing and failover should be designed. This article explains supported patterns and recommended practices for high-volume and resilient deployments.

Active/Active Load Balancing

Not supported: True active/active load-balanced clustering is not supported.
  • Why: MFD-initiated scan workflows are memory-based and session-bound to the specific Umango server that established the session.
  • Impact: A load balancer that distributes subsequent requests to a different node will break the workflow and cause job failures.
  • Implication: Avoid round-robin or least-connections without affinity; do not attempt stateless/active-active clustering.

Scale-Out vs. Scale-Up

As a rule of thumb, multiple servers (scale-out) deliver better throughput and stability than a single large host (scale-up) with the same total core count, due to reduced contention and improved parallelism at the OS/hardware level.

Recommended Architecture

  1. Multiple Umango servers servicing defined sets of MFDs.
  2. Session affinity (sticky sessions): Use source-IP or equivalent persistence so each MFD consistently routes to the same server.
  3. Failover (Active/Passive):
    • Keep standby nodes registered and ready.
    • On outage, re-route traffic via load balancer failover rules or re-point affected MFDs to the standby server.
    • This provides resilience but is not a true active/active model.

Licensing Considerations

  • Licenses are hardware-bound; each server requires its own license.
  • For active/passive, allocate a license for both the active node and the standby node.

Summary

  • Active/active: Not supported due to session-bound MFD workflows.
  • High volume: Prefer scale-out (multiple servers) over a single large server.
  • Routing: Enforce sticky sessions to maintain device-to-server affinity.
  • Resiliency: Use active/passive failover with traffic re-route or device re-pointing.
  • Licensing: One license per server (including standby).

Link to this article https://umango.com/KB?article=150