El término rastreo distribuido describe un proceso para separar los diversos procesos en estructuras de microservicios y hacerlos reconocibles individualmente. Las herramientas para esto son ID de perfil. El objetivo es identificar las causas de los errores con mayor rapidez.
El seguimiento distribuido (a menudo también: seguimiento de solicitudes distribuidas) es un sistema que puede identificar procesos en arquitecturas de microservicios. Para que el comportamiento de los procesos sea reconocible y explicable, debe ser posible diferenciar entre ellos.
Explicación del problema
Un número cada vez mayor de aplicaciones se basa en microservicios. Por ejemplo, utilizan aplicaciones nativas en la nube casi sin excepción. La idea detrás de esto es el paradigma de la estructura modular: las aplicaciones funcionan mejor si las funciones individuales se proporcionan por separado a través de servicios especiales. El trasfondo es la especialización de los servicios individuales. Además, un servicio se puede intercambiar más fácilmente si es necesario.
Para dar un ejemplo usando una metáfora: si quieres construir una casa (en nuestro caso: una aplicación), no solo contratas a 30 personas al azar. En cambio, se utilizan artesanos expertos como fontaneros, albañiles y electricistas. Nadie construye todo, pero debido a su especialización hacen el mejor trabajo posible (por eso son nuestros microservicios).
Ahora surge un problema: por ejemplo, una pared está húmeda. Sin embargo, en ella trabajaron albañiles, fontaneros, carpinteros y electricistas. Por tanto, no es posible decir quién cometió el error. Desde fuera solo se ve que hay un problema. Para volver a traducir la imagen, si se producen errores en las infraestructuras de microservicios, puede haber una multitud de posibles culpables. Porque numerosos servicios utilizan el punto donde surgió el problema.
Rastreo distribuido como solución al problema
Este problema se puede resolver mediante el rastreo distribuido. Para esto ocurre la siguiente secuencia:
- Cada proceso en cada solicitud de uso recibe su propio ID de perfil único.
- Los servicios deben utilizar esta identificación para «firmar» su trabajo.
- El ID aparece en todos los registros.
- Un sistema conectado usa la ID para guardar todos los datos importantes, como el inicio y el final.
Por lo tanto, todos los procesos pueden identificarse y analizarse utilizando el ID de perfil único. Volvamos a la metáfora de esto: los artesanos tienen que firmar y registrar inequívocamente cada paso del trabajo. Si, por ejemplo, resulta que solo el fontanero trabajaba con agua, se ha encontrado el servicio donde ocurrió un error.
Implementación de rastreo distribuido
El seguimiento distribuido no funciona sin código adicional. Por tanto, es un sistema de análisis y optimización que utiliza el desarrollador. Por tanto, es excelente para depurar. Sin embargo, no existen estándares ni plantillas utilizables porque las infraestructuras son demasiado individuales.
Como regla general, el seguimiento distribuido crece con el tiempo con el desarrollo de la aplicación real. Sin embargo, los proveedores de microservicios a menudo proporcionan sus propios valores empíricos que pueden ayudar.