Capability

Multi-Source DC Selection

Pick the right data center per query using host, service and client-side signals — not just "is it reachable."

Classic GSLB picks a data center by asking one question: is it reachable? TR7 GTM asks three: how is the DC node itself doing, how is the application running on it doing, and how is the client experience to it actually playing out? Each source provides a distinct set of signals. The DC host source contributes CPU, memory, bandwidth and packet loss measured at the platform level. The service source contributes request rate, connection count, new session rate, CPU/memory/bandwidth tied to a specific application service plus the count of healthy backends behind that service. The client source contributes hop count, packet loss, MOS (Mean Opinion Score for VoIP-grade traffic quality) and TTL — measured against the requesting resolver or client network. Operators choose one source or combine them. Selection criteria are concrete ("highest healthyBackends count," "lowest packet loss to client," "CPU under 70%") rather than vendor jargon. Multiple DCs can be returned (`pickDcCount`) so weighted distribution across multiple healthy regions remains expressive. The result: a GSLB decision that reflects the application, the platform and the network path simultaneously — closer to the user's actual experience than any single-signal model.

3 sources
Host, service, client — independent signal inputs
17 metrics
Across the three sources combined
9 algorithms
Record distribution after DC selection
Per record
Each DNS record picks its own source and criterion

Single-signal DC selection misses the question that actually matters.

Most GSLB implementations make data-center selection decisions from a single signal class. Geographic distance is one common choice; round-trip time from the platform's measurement points is another; static topology lookups are a third. Each captures a useful dimension and misses the others.

Geography ignores load — the closest data center may also be the one currently under capacity pressure. Latency from the GSLB's probes ignores the user — the user's real network path is not the path the probe took. Static topology assumes the network is unchanged since the configuration was written.

Production decisions need all three views at once: is the DC platform healthy? Is the application on the DC currently performing? Is the network from the user to the DC actually good right now? Each view has signals the others cannot replace.

TR7 GTM exposes the three signal classes — host, service, client — as independent inputs to DC selection, letting operators describe the policy that actually fits their workload.

Our approach

DC selection is configured per DNS record. Operators choose which signal source to use, which specific metric within that source, how many DCs to pick, and how to distribute across the picks.

DC host source — platform-level health

Five metrics measured at the DC platform: CPU, memory, bandwidth, status (up/down composite) and packet loss. Useful when DC platform pressure is the dominant signal for routing decisions.

Service source — application performance

Eight metrics measured per service: CPU, memory, bandwidth, request rate, connection count, new-session rate, status and healthyBackends. Routes traffic by what the application is actually doing, not just whether the host is up.

Client source — network path to the requester

Four metrics measured from the network path to the requesting client: hops, MOS (Mean Opinion Score), packet loss and TTL. Captures the user-side experience that DC-side probes cannot see.

Pick-N selection with distribution algorithm

`pickDcCount` chooses how many DCs to return. `balanceAlgorithm` distributes across the picks — all, top-N, round-robin, weighted round-robin, random, weighted random, or closest.

Capabilities

Each DNS record in DC mode independently selects its signal source, criterion and distribution behaviour.

DC host: five platform-level metrics

DC host source exposes cpu, mem, bw, status and packetLoss. Status is the composite reachability/health state computed from the DC's WAN and LAN access points. Useful when host-level capacity is the dominant routing signal.

Service: eight application-level metrics

Service source exposes cpu, mem, bw, request, connection, session_new, status and healthyBackends. The healthyBackends count is particularly load-bearing — it routes traffic to the DC where the application has the most working capacity right now, not just to the DC whose platform is up.

Client: four network-path measurements

Client source exposes hops (path length), mos (Mean Opinion Score for VoIP/real-time traffic quality), packetLoss and ttl. These signals are measured against the client network, capturing the user experience that DC-side health probes do not see.

Static DC selection for legacy or simple cases

Static mode bypasses the multi-source selection and assigns DCs based on operator-defined rules. Useful for legacy DNS records, compliance-driven routing (specific DCs for specific clients) and tests.

Operator-defined criterion expression

Selection criterion is operator-controlled: lowest value wins, highest value wins, value equals target, or value differs by margin. The same DSL drives criterion evaluation across all three signal sources.

Pick-N counting for multi-DC responses

`pickDcCount` defaults to 1 but can be set higher to return multiple DCs in the DNS response. This enables true multi-DC load balancing rather than always-pick-one routing — DNS clients receive multiple answers and the client-side resolver or stub selects between them.

Nine record distribution algorithms

Once DCs are picked, the records within each DC are distributed according to `balanceAlgorithm`: all (return every record), top-1/2/3 (return top N), round-robin, weighted round-robin, random, weighted random, or closest (proximity to requester). The right algorithm depends on whether you want broad distribution, top-N concentration or stickiness.

Service-name routing for application-specific DCs

When using the service source, operators specify the service name — different applications running on the same DC fleet can have different routing rules. The healthyBackends count for service A and service B can drive separate DC choices.

Combined with fail-safe records

If selection returns no healthy DC, the record's fail-safe list provides last-resort answers — operator-defined IPs that are always returned when the multi-source signals all fail. Prevents NXDOMAIN as a final answer.

Per-record selection — different records, different sources

DC selection is configured per DNS record. The same domain can have an A record routed by service.healthyBackends, an MX record routed by host.status and a CNAME routed by client.packetLoss. Operators tune each record to its workload.

Operational depth

Multi-source selection works together with DC definitions, health-check scenarios, weighted DNS algorithms and fail-safe records.

01

Signal collection cadence

Each signal source has its own measurement cadence. Host and service metrics refresh on the GTM's metric collection cycle (typically every 30-60 seconds). Client metrics update per resolver session. Operators tune cadence per source against the DC topology.

02

Source priority when criteria conflict

Selection uses one source at a time per record. When operators want host signals to gate service signals ("only consider service metrics if host is healthy"), they bind a host-based scenario to the service-source record. Layering is explicit.

03

healthyBackends source-of-truth

The healthyBackends count is read directly from the application's load-balancing tier on each DC, not approximated from external probes. The number reflects the actual pool of healthy backends behind the service at that moment.

04

MOS computation

MOS is computed from network-quality measurements (jitter, packet loss, latency) against the requesting client network. It is most accurate for ongoing client sessions and converges within a few measurement windows for first-time clients.

05

Pick-N when fewer DCs are available

If `pickDcCount` is greater than the available healthy DC count, all available healthy DCs are returned. The platform never invents fake DCs to meet the count target — operators see exactly which real DCs were eligible.

06

Algorithm interaction with selection

Selection and distribution algorithms compose: selection picks the eligible DCs by criterion; distribution determines how records within each DC are returned. A record can pick 3 DCs by service.healthyBackends, then return records within each DC by weighted random.

When to use it

Route by application capacity, not just DC reachability

Service source with healthyBackends criterion routes traffic to the DC where the application has the most working capacity. Avoids hot-spotting a DC whose host is up but whose application backends are degraded.

Route by client network experience

Client source with packetLoss criterion routes each user to the DC with the cleanest network path from their network. Useful for VoIP, video, gaming and real-time applications where path quality matters more than geographic proximity.

Load-balance across multiple healthy DCs

Combine pick-N (e.g., return top 3 DCs) with weighted random distribution to share traffic across multiple healthy regions. Each DNS client receives multiple options; resolvers and stubs naturally distribute across them.

Layered selection for high-stakes workloads

Use a host-based scenario as a gate ("DC is platform-healthy") and a service-based criterion as the picker ("DC has highest healthyBackends count among gated DCs"). Critical workloads get a two-layer selection without scripting.

Frequently asked questions

How is this different from F5 topology records?
F5 topology records map (client region, server region) tuples to ordered DC preferences — a static topology table. Multi-source selection in TR7 is dynamic: each DC selection considers live metrics from one of three sources. The two approaches complement: static topology answers "who is preferred?" and multi-source selection answers "of the preferred set, who is actually performing right now?"
Can I combine signals from multiple sources?
Selection uses one source at a time per record. To layer signals (e.g., "only route to host-healthy DCs, then pick by service metrics"), operators use a host-based scenario as a gate and configure the record's selection to use the service source. The platform composes layered policy through configuration, not through a multi-source expression syntax.
What happens if no metric is available for a DC?
DCs with missing or stale metrics are treated as ineligible for the criterion comparison. They fall to the fail-safe path. Operators see the staleness in the dashboard — a DC contributing no metrics is a visible operational issue, not a silent failure.
How are healthyBackends counted across services?
The healthyBackends metric is per service. When a record selects by service.healthyBackends, the metric used is the count of healthy backends behind the named service on each DC. Different services have different counts on the same DC, so multiple records can route on different service metrics.
Does client-source selection require special client infrastructure?
No special client agent is required. Client metrics are measured against the requesting resolver — the same path the DNS response will travel back over. Hops, packet loss and TTL are inferred from the response path itself. MOS computation uses statistical analysis of jitter and loss patterns over time.

Pick the data center using the signals that actually matter.

Try multi-source DC selection on your own topology: host metrics, service metrics and client-side network measurements driving the same routing decision.