Conceptos

Trazado Distribuido

Técnica de observabilidad que rastrea requests a través de múltiples servicios en sistemas distribuidos, permitiendo identificar cuellos de botella y diagnosticar fallos.

seed#tracing#distributed#opentelemetry#jaeger#spans#observability

¿Qué es?

El trazado distribuido rastrea una request desde su origen hasta su destino a través de todos los servicios que toca. Cada servicio genera un «span» con timing y metadata, y todos los spans se agrupan en un «trace» que muestra el flujo completo.

Conceptos

ConceptoDescripciónEjemplo
TraceEl viaje completo de una requestRequest HTTP desde el cliente hasta la respuesta
SpanUna operación dentro del trace (inicio, fin, metadata)Llamada a base de datos, invocación de servicio
Context propagationPasar el trace ID entre serviciosHeader traceparent (W3C Trace Context)
SamplingNo trazar el 100% de requests para reducir costoHead-based (1%), tail-based (solo errores)

Flujo

Cliente → API Gateway (span 1)
           → Auth Service (span 2)
           → Product Service (span 3)
              → Database (span 4)
           → Response

Herramientas

HerramientaTipo
JaegerOpen-source (CNCF)
Grafana TempoOpen-source, integrado con Grafana
AWS X-RayManaged AWS
Datadog APMSaaS
OpenTelemetryEstándar de instrumentación

¿Por qué importa?

En sistemas distribuidos, un request atraviesa múltiples servicios. Sin trazado distribuido, diagnosticar latencia o errores es como buscar una aguja en un pajar. Las trazas conectan los puntos entre servicios y revelan dónde se pierde el tiempo.

Referencias

  • OpenTelemetry Tracing — Documentación oficial.
  • Jaeger — CNCF, 2024. Sistema de tracing distribuido open source.
  • Zipkin — OpenZipkin, 2024. Sistema de tracing distribuido.
Conceptos