El rastreo distribuido sigue siendo una de las características más importantes de cualquier sistema de rastreo. Hace casi un año, desde alastic anunciaban el rastreo distribuido de Elastic APM, echemos un vistazo a cómo funciona esta función útil detrás de escena.
En los últimos años, muchas aplicaciones han adoptado la arquitectura de microservicios. Cada uno de los servicios en una arquitectura de microservicio puede tener su propia instrumentación para proporcionar observabilidad en el servicio. Sin embargo, dado que todos estos servicios trabajan juntos para cumplir con una solicitud, a menudo es deseable observar el rastreo en su conjunto, esto se conoce como rastreo distribuido. Pero, ¿cómo proporciona un sistema de rastreo un rastreo unificado que consiste en múltiples servicios que se ejecutan en diferentes máquinas? La respuesta es la propagación de contexto.
La necesidad de propagar el contexto.
Para lograr el rastreo distribuido, cada servicio individual debe poder comunicarse con los servicios ascendentes y proporcionar información que identifique de forma exclusiva el rastreo actual. Esto se conoce como propagación de contexto. Los proveedores de APM, en su mayor parte, han creado sus propios mecanismos de propagación de contexto. Sin embargo, existen varios beneficios al adoptar un formato unificado de propagación de contexto:
Estos beneficios y muchos otros motivaron al grupo de trabajo W3C TraceContext a definir un estándar unificado para la propagación del contexto que ha sido adoptado por muchos de los proveedores y bibliotecas de APM.
Más información de W3C TradeContext desde el siguiente enlace.