← Middleware: understand and operate the chain
01 / 12 · 20 MIN

Map the request path

Locate each stage and identify where failure evidence exists.

A chain of components

A request may traverse DNS, a WAF, load balancer, proxy, application server, database, and external services. Each hop adds configuration, limits, and failure points. Draw the path for a specific operation, including protocol, identity, port, timeout, and owner. Distinguish the inbound path from dependencies called by the application.

Use status codes and correlation in context

A 502 or 503 does not identify the cause by itself. Determine which component produced it and correlate timing with downstream logs and metrics. A correlation identifier can connect hops if it is propagated and recorded. Requests do not all share context: route, identity, size, and input data can explain failures affecting only part of traffic.

Technical and functional health

A check that only opens a port does not validate authentication, processing, or dependencies. Define checks appropriate to each objective: process life, readiness to receive traffic, and a representative functional operation. Avoid expensive checks creating load or an optional dependency removing every service instance. Design should reflect how the system degrades and recovers.

Workplace application

In a fictional fund service, map /close and /lookup separately. Identify TLS termination and dependencies called by each route. An HTTP code emitted by the proxy can result from downstream failure; record origin, time, and correlation before assigning cause. Compare requests with similar size and identity, without placing personal data in shared identifiers.

IN PRACTICE

Only /export requests fail with 504. This route calls an external service unused by other endpoints. Before restarting the cluster, compare dependency latency, timeout, and logs for the same request identifier.

Common pitfalls

Assigning cause from an HTTP code; testing one route and generalizing to all.

Related topics: Investigate the JVM, heap, and pauses · Connect threads, pools, and dependencies

Take this idea with you

An HTTP symptom is the starting point; path mapping and correlation locate the investigation.

Create account

Reference: HTTP Semantics · DR Middleware 2026.4; HotSpot JDK 25; JDBC 25; PostgreSQL 18; RabbitMQ 4.3; OpenSSL 3.5; explicitly scoped runtime references