WEB / WEB-21.02
Traffic routing, scaling, and availability
Trace name resolution, serving hops, desired/ready replicas, and user-flow results separately.
1. Core · Mechanism
Read every scenario without motion
Origin path
- Start after miss
After the supplied DNS resolution and edge-cache miss, the edge has prepared a public origin read. The balancer has not received this request yet.
- Client / resolver projection
- Resolution supplied; waiting
- Edge projection
- Origin read prepared
- Local balancer
- Balancer request unknown
- Application pool
- Pool request unknown
- Public note owner
- Tea note authoritative
- Balancer arrival
The edge prepared request arrives at the balancer; application-pool and client knowledge remain in their prior states.
- Client / resolver projection
- Resolution supplied; waiting
- Edge projection
- Origin read prepared
- Local balancer
- Public read received
- Application pool
- Pool request unknown
- Public note owner
- Tea note authoritative
- Select target
The local literal-ready policy selects app-a and prepares the query; readiness has granted no private permission.
- Client / resolver projection
- Resolution supplied; waiting
- Edge projection
- Origin read prepared
- Local balancer
- app-a query prepared
- Application pool
- Pool request unknown
- Public note owner
- Tea note authoritative
- Application arrival
The selected app-a request becomes known at pool arrival; reading the authoritative note remains separate local work.
- Client / resolver projection
- Resolution supplied; waiting
- Edge projection
- Origin read prepared
- Local balancer
- app-a query prepared
- Application pool
- app-a read received
- Public note owner
- Tea note authoritative
- Local note read
The pool locally reads Tea title from its own note owner and prepares a response bound to serving identity app-a.
- Client / resolver projection
- Resolution supplied; waiting
- Edge projection
- Origin read prepared
- Local balancer
- app-a query prepared
- Application pool
- Tea response prepared
- Public note owner
- Tea note authoritative
- Balancer return
The application response arrives at the balancer; the edge has neither received it nor delivered it to a viewer.
- Client / resolver projection
- Resolution supplied; waiting
- Edge projection
- Origin read prepared
- Local balancer
- app-a result received
- Application pool
- Tea response prepared
- Public note owner
- Tea note authoritative
- Prepare for edge
The balancer locally prepares a response for the edge; this processing step is not receiver arrival.
- Client / resolver projection
- Resolution supplied; waiting
- Edge projection
- Origin read prepared
- Local balancer
- Edge response prepared
- Application pool
- Tea response prepared
- Public note owner
- Tea note authoritative
- Edge arrival
The prepared result reaches the edge; the bounded scene ends here and the client remains waiting.
- Client / resolver projection
- Resolution supplied; waiting
- Edge projection
- Origin result received
- Local balancer
- Edge response prepared
- Application pool
- Tea response prepared
- Public note owner
- Tea note authoritative
One unready
- Down snapshot
The declared readiness snapshot supplies a=false and b=true; this fixture is not a real replica kill.
- Client / resolver projection
- Client waiting
- Edge projection
- Edge waiting
- Local balancer
- Public read known
- Application pool
- a=false; b=true supplied
- Public note owner
- Tea note authoritative
- Derive eligible
The local policy excludes observed-false a and admits observed-true b; failure domains are not measured.
- Client / resolver projection
- Client waiting
- Edge projection
- Edge waiting
- Local balancer
- Eligible b only
- Application pool
- a=false; b=true supplied
- Public note owner
- Tea note authoritative
- Prepare for b
The balancer prepares the public request for selected b; the pool receiver has not received it yet.
- Client / resolver projection
- Client waiting
- Edge projection
- Edge waiting
- Local balancer
- app-b read prepared
- Application pool
- a=false; b=true supplied
- Public note owner
- Tea note authoritative
- b arrival
The selected b request becomes known at pool arrival; no result has yet returned to the caller.
- Client / resolver projection
- Client waiting
- Edge projection
- Edge waiting
- Local balancer
- app-b read prepared
- Application pool
- app-b read received
- Public note owner
- Tea note authoritative
- b result prepared
The own public-title read becomes b response; a prepared result does not establish a measured HA guarantee.
- Client / resolver projection
- Client waiting
- Edge projection
- Edge waiting
- Local balancer
- app-b read prepared
- Application pool
- app-b result prepared
- Public note owner
- Tea note authoritative
- b result arrival
The response arrives at the balancer, showing that surviving b produced this finite request result in the source projection.
- Client / resolver projection
- Client waiting
- Edge projection
- Edge waiting
- Local balancer
- app-b result received
- Application pool
- app-b result prepared
- Public note owner
- Tea note authoritative
- Scope boundary
The local routing result is not expanded into regional failover, parallel capacity, or an uptime SLA.
- Client / resolver projection
- Client waiting
- Edge projection
- Edge waiting
- Local balancer
- Limited route result
- Application pool
- app-b result prepared
- Public note owner
- Tea note authoritative
No ready
- Read known
The public read is assumed received; false readiness for a and missing readiness for another instance are distinct knowledge.
- Client / resolver projection
- Client waiting
- Edge projection
- Edge waiting
- Local balancer
- Public read known
- Application pool
- a=false; unknown missing
- Public note owner
- Tea note authoritative
- No eligible
No literal true is found, so eligibility is empty; unknown health is not renamed as a confirmed failure.
- Client / resolver projection
- Client waiting
- Edge projection
- Edge waiting
- Local balancer
- Eligible set empty
- Application pool
- a=false; unknown missing
- Public note owner
- Tea note authoritative
- Unavailable prepared
The selected unavailable policy prepares 503, keeps forwarded=false, and invents no application request.
- Client / resolver projection
- Client waiting
- Edge projection
- Edge waiting
- Local balancer
- 503 response prepared
- Application pool
- a=false; unknown missing
- Public note owner
- Tea note authoritative
- Edge arrival
The balancer prepared unavailable response arrives at the edge; the pool retains its previous no-request state.
- Client / resolver projection
- Client waiting
- Edge projection
- 503 response received
- Local balancer
- 503 response prepared
- Application pool
- a=false; unknown missing
- Public note owner
- Tea note authoritative
- Separate category
The edge classifies the result locally; it gains no new evidence about missing-health causes or viewer delivery.
- Client / resolver projection
- Client waiting
- Edge projection
- Unavailable classified
- Local balancer
- 503 response prepared
- Application pool
- a=false; unknown missing
- Public note owner
- Tea note authoritative
Desired / ready
- Prior pool
Initially desired2 and ready2 match; this coincidence does not equate their lifecycle identities.
- Client / resolver projection
- Public flow selected
- Edge projection
- Edge unchanged
- Local balancer
- Desired2; ready2
- Application pool
- a/b ready
- Public note owner
- Tea note authoritative
- Intent grows
The supplied control intent becomes desired3; no new ready instance or measured capacity has been added.
- Client / resolver projection
- Public flow selected
- Edge projection
- Edge unchanged
- Local balancer
- Desired3; ready2
- Application pool
- a/b ready
- Public note owner
- Tea note authoritative
- Create separate
The own fixture shows c exists but ready=false; created count is3 while ready count remains2.
- Client / resolver projection
- Public flow selected
- Edge projection
- Edge unchanged
- Local balancer
- Desired3; ready2
- Application pool
- a/b ready; c created
- Public note owner
- Tea note authoritative
- Traffic gate
The local routing list does not select initializing c; desired count grants neither request permission nor usable capacity.
- Client / resolver projection
- Public flow selected
- Edge projection
- Edge unchanged
- Local balancer
- Eligible a/b only
- Application pool
- a/b ready; c created
- Public note owner
- Tea note authoritative
- Ready supplied
Declared completed initialization supplies ready=true for c; no actual HPA/probe runtime or timing is measured.
- Client / resolver projection
- Public flow selected
- Edge projection
- Edge unchanged
- Local balancer
- Eligible a/b only
- Application pool
- a/b/c ready supplied
- Public note owner
- Tea note authoritative
- Derive eligible3
A ready set of3 is now derived; this finite count establishes no throughput, regional redundancy, or HA percentage.
- Client / resolver projection
- Public flow selected
- Edge projection
- Edge unchanged
- Local balancer
- Desired3; ready3
- Application pool
- a/b/c ready supplied
- Public note owner
- Tea note authoritative
ACTORS · STATE · DATA FLOW
A DNS answer is not an HTTP response
DNS helps resolve names to resource records. It is not a forwarding hop carrying an HTTP request body to the application. After a resolver obtains an address or related record data, the client makes a separate connection to the selected endpoint. DNS answers concern name authority and resolver-cache lifetime; they do not establish that the application can read a note now or authorize the caller. public.example.invalid and edge-demo are supplied aliases, with no queries or record changes.
DNS → CDN → load balancer → application is a common responsibility chain, not a mandatory sequence for every website. A CDN can serve public representations at the edge and contact an origin on a selected miss. A balancer selects instances within a target pool. One product can combine roles and another application may have no CDN. Each HTTP boundary produces separate request/response knowledge; a cached DNS result is neither a CDN hit nor an origin response.
The normal scene starts after supplied resolution and an edge-miss decision: the edge has prepared the backend request, which the balancer has not seen. The balancer receives it and selects ready application-a. The application pool produces an own Tea note response. The bounded scene ends when that response returns through the balancer to the edge. Client/resolver remains waiting because final viewer delivery is outside this slice. Native adapters observe an in-process relationship without DNS, CDN, TLS, or network delivery.
Scale-out, ready capacity, and high availability
Horizontal scaling shares work across more instances or replicas, whereas vertical scaling adds resources to existing instances. Desired replica count is controller intent; created and ready counts may not reach it simultaneously. Kubernetes HPA is a named example of a periodic metric-driven control loop updating a workload scale target, while startup, dependency initialization, and readiness progress separately. desired3/ready2 are explicit finite fixture values, not production thresholds or HPA-formula output.
High availability aims to keep a selected user flow usable under failures. Multiple replicas do not automatically solve a shared-database, edge-configuration, or fault-domain failure. Remaining replicas need sufficient capacity, correct routing, and access to required state. The fixture routes a public read to b when a has observed ready=false. That limited result is not regional failover or an uptime/SLA measurement.
Health checks report a selected predicate within an observation scope. Liveness can support recovery decisions, readiness supports traffic eligibility, and an end-to-end synthetic check asks a different user-flow question. A missing readiness field is unknown, not an observed false health fact. A policy can exclude both unknown and false instances while preserving different diagnostic reasons. Probe responses are not evidence of authentication or note-level authorization.
2. Red · Trust & Impact
Read every scenario without motion
Desired vs ready
- Scaler intent
desiredBefore is 2, desiredAfter and createdAfter 3. These indicate provisioning intent and existence; readyDuringInit remains 2 and new app-c is not ready.
- Pool and scale ledger
- Desired3 / created3 / ready2
- Traffic eligibility gate
- Not yet evaluated
- Public-read result
- Not yet evaluated
- Calculate eligible pool
Traffic selection requires literal ready true. Although app-c exists, it is ineligible during initialization; copying desired count into target count is incorrect.
- Pool and scale ledger
- Desired3 / created3 / ready2
- Traffic eligibility gate
- Init eligible app-a/app-b only
- Public-read result
- Not yet evaluated
- Bound capacity claims
readyAfter 3 adds app-c to the pool, but capacityMeasured is false. Three ready instances do not establish three independent failure domains or an SLA.
- Pool and scale ledger
- Desired3 / created3 / ready2
- Traffic eligibility gate
- Init eligible app-a/app-b only
- Public-read result
- Ready3 / capacity unmeasured
- One target down
oneDown marks app-a unready and app-b ready; the deterministic policy selects app-b. Correct servedBy app-b association answers the routing question.
- Pool and scale ledger
- app-a false / app-b selected
- Traffic eligibility gate
- Init eligible app-a/app-b only
- Public-read result
- Ready3 / capacity unmeasured
- Authority belongs elsewhere
Health or readiness grants no private-operation authority. This is public-note reading; privateAuthorizationVerified is false, and business policy remains with its application owner.
- Pool and scale ledger
- app-a false / app-b selected
- Traffic eligibility gate
- Readiness ≠ private authorization
- Public-read result
- Ready3 / capacity unmeasured
- Retain the delivery boundary
The normal result stops at edge received response. Client delivery is unmeasured; reaching the edge is not completed viewer flow or measured regional failover.
- Pool and scale ledger
- app-a false / app-b selected
- Traffic eligibility gate
- Readiness ≠ private authorization
- Public-read result
- Edge response known / client delivery outside scope
Unknown pool
- Missing readiness
app-unknown has readinessObserved false and health unknown. An absent field proves neither health nor failure; both require different evidence.
- Pool and scale ledger
- Unknown health / missing readiness
- Traffic eligibility gate
- Not yet evaluated
- Public-read result
- Not yet evaluated
- Bounded eligible set
The selected control requires literal true. With app-a false and app-unknown missing, eligibility is empty; defaulting unknown to true violates this policy.
- Pool and scale ledger
- Unknown health / missing readiness
- Traffic eligibility gate
- False + missing → eligible empty
- Public-read result
- Not yet evaluated
- 503 without forwarding
noReady has selected null, forwarded false and status 503. There is no application receipt or note read; unavailability does not diagnose a particular process crash.
- Pool and scale ledger
- Unknown health / missing readiness
- Traffic eligibility gate
- False + missing → eligible empty
- Public-read result
- No target / no forwarding / 503
- DNS is another mechanism
dnsAnswerAlias edge-demo is supplied resolution knowledge, with dnsQueryExecuted false. DNS is not an HTTP forwarder; resolving a name does not guarantee a ready application.
- Pool and scale ledger
- DNS answer ≠ ready target
- Traffic eligibility gate
- False + missing → eligible empty
- Public-read result
- No target / no forwarding / 503
- Failure-domain question
App-a and app-b can share a dependency. Ready count or one finite rerouting case does not establish measured availability, capacity or independent failure domains.
- Pool and scale ledger
- DNS answer ≠ ready target
- Traffic eligibility gate
- Replica count ≠ independent availability
- Public-read result
- No target / no forwarding / 503
- Retain the unknown reason
Not routing is a known policy result while missing-readiness cause remains unknown. Even health-check 200 or process-alive evidence would require separate caller-authority checks.
- Pool and scale ledger
- DNS answer ≠ ready target
- Traffic eligibility gate
- Replica count ≠ independent availability
- Public-read result
- No-ready decision known / cause unknown
ASSUMPTION · BOUNDARY · CONTROL
Mistaking resolution and box counts for availability
A successful DNS lookup does not establish completion of the selected public request across the whole chain. An edge miss, an empty eligible target pool, and an application dependency error are different boundaries. Review actual request/response knowledge instead of assigning every final status to an origin failure. Ending at edge arrival prevents counting an undelivered representation as a completed viewer flow.
Reading desired3 as capacity3 overstates capability during ordinary provisioning or startup. Three instances sharing one dependency do not create three independent availability paths. Record scaling intent separately from traffic eligibility. The fixture supplies ready=false for new c, leaving only a/b eligible; supplied ready=true adds c later. No real parallel capacity or latency was measured.
Treating missing observations as healthy or authorized
Defaulting missing readiness to true can route traffic to an unknown target. Defaulting it to false and reporting confirmed failure invents different knowledge. The selected control admits only literal true and retains unknown as the missing reason. An empty eligible pool produces a selected unavailable result without sending a request to the application. That does not replace diagnostic evidence about why each instance is unready.
A health200 or a live process confers no caller authority for a private operation. Authentication, authorization, and business-result verification remain with their owners. This fixture reads a public note only and does not test private-object permissions. Production review also considers observation age and failure-domain dependencies. The boolean adapter is not a universal vendor fail-open or fail-closed policy.
3. Blue · Secure development & defense
Read every scenario without motion
Pool controls
- Normal ready baseline
The normal pool marks app-a/app-b true and deterministic first-ready selects app-a. Result servedBy is app-a with Tea note; instance association is checked separately.
- Readiness records
- app-a selected / servedBy app-a
- Routing review
- Not yet evaluated
- Outcome evidence
- Not yet evaluated
- Down-branch comparison
When app-a becomes false, app-b remains true and is selected. The fallback identifies the serving target without measuring a real balancer or cloud failover.
- Readiness records
- app-a selected / servedBy app-a
- Routing review
- app-b selected / servedBy app-b
- Outcome evidence
- Not yet evaluated
- Unknown versus false
noReady contains false and missing readiness. Neither is eligible, but the missing reason is unknown and is not merged with confirmed unreadiness.
- Readiness records
- app-a selected / servedBy app-a
- Routing review
- app-b selected / servedBy app-b
- Outcome evidence
- Both ineligible / evidence reasons distinct
- Scale-time context
Desired, created and ready counts are retained together. Initialization has 2 ready instances and completion 3; these authored stages are not latency or autoscaler benchmarks.
- Readiness records
- Intent/existence/readiness distinct
- Routing review
- app-b selected / servedBy app-b
- Outcome evidence
- Both ineligible / evidence reasons distinct
- Outcome recipient
Edge response receipt is not client delivery. User-flow success requires correct title, usable status and actual recipient stage; the final owner narrows the scope.
- Readiness records
- Intent/existence/readiness distinct
- Routing review
- Edge receipt / client completion unmeasured
- Outcome evidence
- Both ineligible / evidence reasons distinct
- Finite routing evidence
The input list is independently filtered and target compared with servedBy. This establishes the route decision without adding DNS, Kubernetes, capacity or SLA results.
- Readiness records
- Intent/existence/readiness distinct
- Routing review
- Edge receipt / client completion unmeasured
- Outcome evidence
- Finite selection verified / availability broader
Health gap
- Visible target count
The review sees only created count 3 without readiness or selected-target records. Listing three processes does not identify the recipient of a public request.
- Readiness records
- Created3 / readiness missing
- Routing review
- Not yet evaluated
- Outcome evidence
- Not yet evaluated
- Do not copy the expected pool
The scale fixture expects readyDuringInit 2 and readyAfter 3. Copying completion state into an incomplete event could present initialization as finished.
- Readiness records
- Created3 / readiness missing
- Routing review
- Expected ready set ≠ observation
- Outcome evidence
- Not yet evaluated
- User-flow uncertainty
Current eligibility, selected target and edge/client delivery remain UNKNOWN. Created count is existence evidence only, not health, usable capacity or request success.
- Readiness records
- Created3 / readiness missing
- Routing review
- Expected ready set ≠ observation
- Outcome evidence
- Eligibility/selection/delivery UNKNOWN
- Required route correlation
Readiness observation time, route purpose, selected instance and response source are needed. Pool and application outcome must be associated with the same public request without private bodies.
- Readiness records
- Needed: ready time/target/result recipient
- Routing review
- Expected ready set ≠ observation
- Outcome evidence
- Eligibility/selection/delivery UNKNOWN
- Signal health is separate
Missing readiness could reflect target or telemetry failure. Without observation-pipeline coverage, an empty health table does not prove the entire pool down.
- Readiness records
- Needed: ready time/target/result recipient
- Routing review
- Target health ≠ observation pipeline health
- Outcome evidence
- Eligibility/selection/delivery UNKNOWN
- Purpose of new evidence
New evidence must answer routing and delivery-recipient questions separately. This event retains only creation count without adding SLA or server-permission success.
- Readiness records
- Needed: ready time/target/result recipient
- Routing review
- Target health ≠ observation pipeline health
- Outcome evidence
- Collect scoped routing/delivery evidence
IMPLEMENTATION · SECURITY CONTROL · VERIFICATION
Separate intent, observation, and selected targets
Keep desired count, observed instances, and the ready set together but as separate fields. For the public read, expose route purpose, the balancer-selected instance, and response source. Artifact/version equality across ready instances requires configuration evidence, not a count. Deterministic first-ready selection is only fixture policy. The native checker independently filters explicit lists and checks distinctions among unknown, false, and true fields.
Trace edge-to-balancer request arrival, balancer-to-application arrival, and the response relationship as distinct snapshots. Only the receiver gains knowledge on arrival. The authoritative note read inside the pool is a local adapter, not a fabricated database packet. Independent JSON parsing checks the finite public-note result, selected instance, and title. No DNS, balancer, or cloud API call occurs.
Bind availability claims to the user flow
Define a successful result for the selected operation: correct public title, usable status, and the endpoint where delivery occurred. A result from b in the replica-down case differs from absence of forwarding in the no-ready case. An HA claim needs measured user-flow availability, remaining capacity, and failure-domain evidence; these finite cases produce no percentage or SLA. DNS TTL and CDN lifetime do not imply globally instantaneous propagation.
Assess application health separately from telemetry-pipeline health, developed in the next lesson. A missing-observation case must not equate no event with no failure. The XML selector detects unknown readiness with selected=true; zero matching events alone do not prove safe routing. Native, authored-model, and browser/UI scopes stay distinct. Model motion creates neither deployment status nor a permission grant.
NOW APPLY IT TO THE CASE
Is desired replica count traffic eligibility or availability?
A normal public read gets Tea note from app-a. When app-a is unready, app-b is selected; creating app-c does not grow the ready pool until it becomes ready. app-unknown is not treated as healthy, and no ready targets yields 503 without forwarding.
Evaluate the case data journey together with environment, dependency and telemetry context. Does an operational-success label establish every application outcome?
Open the related case file ↗READ THE EXAMPLE TOGETHER
Traffic / readiness / replica ledger
Select a field and examine what it supports and where the evidence ends.
Read the raw artifact and field explanations
{
"topology": {
"logicalChain": [
"DNS resolution",
"CDN role",
"balancer role",
"application role"
],
"mandatoryEverySite": false,
"dnsAnswerAlias": "edge-demo",
"dnsNameAlias": "public.example.invalid",
"dnsQueryExecuted": false,
"dnsIsHttpForwarder": false
},
"normal": {
"edgeDecision": "supplied miss",
"ready": [
{
"id": "app-a",
"ready": true
},
{
"id": "app-b",
"ready": true
}
],
"selected": "app-a",
"response": {
"id": "tea",
"title": "Tea note",
"servedBy": "app-a"
},
"stopsAt": "edge received response; client delivery outside scene"
},
"oneDown": {
"ready": [
{
"id": "app-a",
"ready": false
},
{
"id": "app-b",
"ready": true
}
],
"selected": "app-b",
"response": {
"id": "tea",
"title": "Tea note",
"servedBy": "app-b"
},
"regionalFailoverMeasured": false
},
"scale": {
"desiredBefore": 2,
"desiredAfter": 3,
"createdAfter": 3,
"readyBefore": 2,
"readyDuringInit": 2,
"readyAfter": 3,
"newInstance": "app-c",
"newReadyDuring": false,
"newReadyAfter": true,
"hpaAlgorithmExecuted": false,
"capacityMeasured": false
},
"unknownHealth": {
"instance": "app-unknown",
"readinessObserved": false,
"health": "unknown",
"selected": false,
"reason": "missing-readiness"
},
"noReady": {
"instances": [
{
"id": "app-a",
"ready": false
},
{
"id": "app-unknown"
}
],
"eligible": [],
"selected": null,
"forwarded": false,
"status": 503
},
"limits": {
"realDnsExecuted": false,
"realCdnExecuted": false,
"realLoadBalancerExecuted": false,
"kubernetesExecuted": false,
"realNetworkExecuted": false,
"slaMeasured": false,
"privateAuthorizationVerified": false
},
"selector": {
"language": "XPath",
"xml": "<audit><health observation=\"unknown\" selected=\"false\"/></audit>",
"xpath": "count(/audit/health[@observation='unknown' and @selected='true'])",
"expected": 0,
"positiveFixtureXml": "<audit><health observation=\"unknown\" selected=\"true\"/></audit>",
"positiveExpected": 1,
"scope": "Own inert decision observations, not vendor log fields.",
"missingFieldBehavior": "Missing observation is insufficient evidence; zero matches alone proves no healthy runtime/control."
}
}- topology/normal
- Supplied resolution and bounded origin path carry different knowledge.
- scale
- Desired/created/ready counts differ; no HPA or capacity measurement.
- unknownHealth/noReady
- Missing observation is unknown; literal-true policy selects traffic.
- selector/limits
- Inert health decision; no actual DNS, cloud, HA, or private permission.
Actual finite own in-process readiness and route adapters only; remote scene messages are conceptual. No DNS query, CDN/balancer/cloud deployment, SLA, or capacity measurement.
Two reality checks
DNS success or desired3 means three healthy instances and a completed user flow.
Resolution, desired count, ready eligibility, and response delivery require separate observations.
A missing health event proves no failure or permission.
Missing observation remains unknown; health predicates are neither authorization nor complete-flow verification.
YOUR TURN
Work through this story.
Predict the outcome, find the evidence boundary, and explain it in your own words.
Desired instances increased from 2 to 3 and three were created. New app-c is not ready yet. Are three instances immediately eligible?
- No. readyDuringInit=2; app-c must wait.
- Yes. Increasing the desired count proves measured capacity growth.
Read the explained answer
No. readyDuringInit=2; app-c must wait. — An instance existing does not prove it can accept requests. readyAfter reaches 3 only when app-c becomes ready.
app-a is not ready, and app-unknown has no readiness field. Which node receives the request?
Selected lesson artifact fields; teaching example
- noReady.instances
- [{"id":"app-a","ready":false},{"id":"app-unknown"}]
- noReady.eligible
- []
- noReady.forwarded
- false
- noReady.status
- 503
- app-unknown is selected; no visible error proves it is healthy.
- None. The eligible list is empty; no forwarding occurs and status is 503.
Read the explained answer
None. The eligible list is empty; no forwarding occurs and status is 503. — Missing readiness is not assumed healthy. Known false and unknown differ, but this policy dispatches to neither.
The normal flow ends when the edge receives the response, while oneDown selects app-b. Why are these not client-delivery or regional-failover measurements?
Read the explained answer
The edge received the response; client delivery is outside the scene. oneDown selects app-b from the supplied readiness list, with regionalFailoverMeasured=false. DNS is a resolution role here, not an HTTP forwarder. This logical topology is not mandatory for every site, and no real DNS/CDN/load-balancer or SLA measurement is performed.
□ I separated edge receipt from client delivery.
□ I did not treat instance selection as regional failover or SLA evidence.
Open the application console · request / response / browser
Also open request, URL, cookie and DOM examples
Sources and scope
- RFC 1034 — Domain Names: Concepts and Facilities2.4. Elements of the DNS
- Amazon CloudFront — How CloudFront delivers contentHow CloudFront delivers content to your users · How CloudFront works with regional edge caches
- Kubernetes — Horizontal Pod AutoscalingOpening paragraphs: horizontal versus vertical scaling · How does a HorizontalPodAutoscaler work? · Pod readiness and autoscaling metrics
- Kubernetes — Pod LifecyclePod phase · Readiness probe · Liveness probe
- Microsoft Learn — Monitoring workload reliabilityMonitor workload functionality · Track availability targets · Make alerts actionable with a health model · Monitor load distribution across redundant instances