OpenTracing
El inicio de sesión del hipervínculo es visible.
OpenTracing ha desarrollado un protocolo Trace independiente de la plataforma y del fabricante, que permite a los desarrolladores añadir o reemplazar fácilmente implementaciones de sistemas de trazado distribuido. En noviembre de 2016, el Comité Técnico del CNCF votó aceptar OpenTracing como un proyecto alojado, que es el tercer proyecto del CNCF, el primero Kubernetes y el segundo Prometheus, lo que demuestra que el CNCF otorga gran importancia a la observabilidad detrás de OpenTracing. Por ejemplo, tanto el famoso Zipkin como el Jaeger siguen el protocolo OpenTracing.
OpenCensus
El inicio de sesión del hipervínculo es visible.
Puede que te preguntes, ahora que OpenTracing está aquí, ¿qué va a hacer OpenCensus con la diversión? Lo siento, deberías saber que el impulsor de OpenCensus es Google, que es la primera empresa en proponer el concepto de Rastreo, y OpenCensus es la versión comunitaria de Google Dapper. La mayor diferencia entre OpenCensus y OpenTracing es que, además de Tracing, también incluye métricas, de modo que el seguimiento básico de métricas también puede realizarse en OpenCensus. Otra diferencia es que OpenCensus no es una especificación simple, también hace de todo, incluidos los agentes y recopiladores de datos. OpenCensus también cuenta con un gran número de seguidores, y la mayor noticia reciente es que Microsoft también ha anunciado que se ha unido, y OpenCensus puede describirse como un tigre con alas.
¿Qué es OpenTelemetry?
El inicio de sesión del hipervínculo es visible.
OpenTelemetry fusiona los proyectos OpenTracing y OpenCensus, proporcionando un conjunto de APIs y bibliotecas para estandarizar la adquisición y transmisión de datos de telemetría. OpenTelemetry proporciona una herramienta segura y neutral respecto al proveedor que permite enviar datos a diferentes backends según sea necesario.
El proyecto OpenTelemetry consta de los siguientes componentes:
- Impulsar el uso de especificaciones consistentes en todos los proyectos
- Basado en especificaciones, con APIs para interfaces e implementaciones
- SDKs (implementaciones de APIs) en diferentes lenguajes, como Java, Python, Go, Erlang, etc
- Exportadores: Los datos pueden enviarse a un backend de tu elección
- Colectores: Implementación neutral respecto al proveedor para procesar y exportar datos de telemetría
Terminología de Opentelemetría:
Traces: Registra la actividad de la solicitud a través de un sistema distribuido, y una trace es un grafo dirigido acíclico de tramos
Spans: Una traza representa una operación nombrada basada en el tiempo. Los vanos anidan para formar árboles trazas. Cada traza contiene un espacio raíz que describe la latencia de extremo a extremo, y sus suboperaciones también pueden tener una o más subextensiones.
Métricas: Los datos brutos de la métrica capturados en tiempo de ejecución sobre el servicio. instrumentos métricos definidos por Opentelemetry. Observer soporta la adquisición de datos mediante APIs asíncronas, con un dato en cada intervalo de adquisición.
Contexto: Un tramo contiene un contexto de repartido, que es un identificador globalmente único que representa la solicitud única a la que pertenece cada tramo, así como los datos necesarios para transferir información de traza a través de los límites del servicio. OpenTelemetry también soporta el contexto de correlación, que puede contener atributos definidos por el usuario. No se requiere el contexto de correlación, y el componente puede elegir no transportar ni almacenar esa información.
Propagación del contexto: Indica el paso de información contextual entre diferentes servicios, normalmente mediante cabecera HTTP. La propagación del contexto es una de las características clave del sistema Opentelemetry. Además del trazado, hay algunos usos interesantes como realizar pruebas A/B. OpenTelemetry soporta propagación de contexto para múltiples protocolos para evitar posibles problemas, pero es importante señalar que es mejor usar un único enfoque en tu propia aplicación.
Beneficios de OpenTelemetry:
Al fusionar OpenTracing y OpenCensus en un único estándar abierto, OpenTelemetry ofrece las siguientes comodidades:
Fácil de elegir: En lugar de tener que elegir entre los dos estándares, OpenTelemetry es compatible tanto con OpenTracing como con OpenCensus. Multiplataforma: OpenTelemetry soporta varios lenguajes y backends. Representa una forma neutral respecto al proveedor para capturar y transmitir datos de telemetría al backend sin cambiar las herramientas existentes. Observabilidad simplificada: Como dice OpenTelemetry, "la telemetría de alta calidad requiere telemetría de alta calidad". Me gustaría ver a más proveedores cambiar a OpenTelemetry porque es más cómodo y solo necesita probar un único estándar.
|