Introducción del producto de seguimiento de enlaces distribuidos universales (Tacing)
eBay desarrolló un sistema de seguimiento de enlaces llamado CAL (Registro de aplicaciones centralizado) ya en 2002, que se considera el dios de la arquitectura dentro de eBay. Pero no es de código abierto.
Google también desarrolló un sistema de seguimiento de enlaces llamado Dapper aproximadamente al mismo tiempo que eBay. Ha estado funcionando dentro de Google durante mucho tiempo y no ha sido de código abierto. Pero en 2010, Google publicó un artículo innovador que presentaba los principios de Dapper, y el artículo de Dapper se convirtió en la base teórica para muchos sistemas de seguimiento de enlaces posteriores.
El siguiente es el texto original en inglés y la traducción al chino del artículo de Dapper:
Versión en inglés de Dapper
Traducción al chino de Dapper
Wu Qimin trabaja en eBay Más de diez años después, se incorporó a Dianping como arquitecto jefe. Utilizando la CAL de eBay como plantilla, Wu Qimin comenzó a desarrollar un sistema de seguimiento de enlaces llamado CAT (Central Application Tracking) a finales de 2011.
La siguiente es una introducción a CAT del blog de tecnología oficial de Meituan:
Blog de tecnología oficial de Meituan: análisis en profundidad del CAT de monitoreo distribuido de código abierto
El La siguiente es la dirección de CAT Github:
CAT - Github
El siguiente es un ejemplo de CAT UI:
Twitter abrió Zipkin en 2012, pero Zipkin originalmente implementado en Scala Sí, relativamente nicho. Se puede considerar a Zipkin como la práctica de ingeniería de los papeles Dapper.
El siguiente es el sitio web oficial de Zipkin y la dirección de Github:
Sitio web oficial de Zipkin
Zipkin - Github
El siguiente es el seguimiento de Zipkin Ejemplo de interfaz de usuario:
Pinpoint es un producto de una empresa coreana llamada Naver. Naver es actualmente la empresa de servicios de Internet más grande de Corea del Sur. La innovación de Pinpoint es que utiliza tecnología de inyección de código de bytes y el punto de enterramiento no es intrusivo.
Aquí está la ubicación de Pinpoint en Github:
Pinpoint - Github
Aquí hay un ejemplo de la interfaz de usuario de seguimiento de Pinpoint:
2015, anterior Sheng Wu, miembro de OneAPM, tomó prestadas ideas de Pinpoint, desarrolló y abrió Skywalking y entró en la incubadora de Apache ya en 2017. Con el respaldo de Apache, Skywalker se ha desarrollado rápidamente en China en los últimos años.
Al igual que Pinpoint, Skywalker utiliza tecnología de inyección de código de bytes y el punto de enterramiento no es invasivo.
La siguiente es la dirección de Github de Skywalker:
Github - Skywalking
La siguiente es la versión experimental del servicio Skywalker:
Skywalking - Demostración
El siguiente es un ejemplo de la interfaz de usuario de seguimiento de Skywalker:
En 2016, Uber se inspiró en Dapper y OpenZipkin para desarrollar Jaeger, un sistema de seguimiento de enlaces en lenguaje Go. Piense en Jaeger como la versión golang de Zipkin.
El siguiente es el sitio web oficial de Jaeger y la dirección de Github:
Sitio web oficial de Jaeger
Github - Jaeger
El siguiente es un seguimiento de Jaeger Ejemplo de interfaz de usuario:
Se puede decir que CAT tiene el mismo origen que CAL. Zipkin, Pinpoint, Skywalking y Jaeger se desarrollaron con referencia al artículo Dapper, por lo que los productos anteriores se pueden dividir aproximadamente de acuerdo con la siguiente figura:
Además, se puede decir que el seguimiento de enlaces y APM son inseparables, y ahora hay cada vez más. Cada vez más productos de código abierto no se limitan a proporcionar funciones de Tacing. Muchos de los productos de código abierto mencionados anteriormente son esencialmente APM, y el seguimiento es solo una parte de sus muchas funciones:
Más adelante compararemos las similitudes y diferencias entre los productos de código abierto mencionados anteriormente como referencia para selección de tecnología.
El seguimiento es un tipo de APM.