Skip to content

Run two nodes behind a load balancer

Goal: two (or more) nodes share the traffic, either can take everything when the other is down, and each can be patched without interrupting the modalities.

  1. Install a second node with the same central address and enrollment key as the first. It takes the same configuration within seconds; nothing is set per node.
  2. The load balancer: a virtual address (VIP) for the DICOM listen port (and the TLS, DICOMweb and HL7 ports, if you use them), forwarding to both nodes, with a TCP health check on the same port. Plain TCP (layer 4) balancing is right for DICOM.
  3. DNS: point the router’s name (such as routes.contoso.local) at the VIP. Senders configured with the name need no change.
  4. Destinations: add the second node’s address to each destination’s list of allowed senders.

On the Nodes tab, Drain a node: it stops listening, so the health check fails and the balancer sends new associations to the other node, while it finishes what it has queued. When it shows Drained, patch or upgrade it, then Resume.

  • Each association goes through one node, so a study sent on one association stays together.
  • A node that goes down keeps what it had received on its disk, and delivers it when it comes back.
  • A node short of disk space stops listening too, so the balancer moves traffic away from it.
  • With HL7, an interface keeps its connection on one node, so its messages stay in order.

See Adding nodes.