Hay muchas formas de crear un servicio Zipkin : utilice el paquete Jar oficial que se puede iniciar directamente , ejecútelo a través de una imagen de Docker o agregue dependencias manualmente para crear una aplicación de servidor Zipkin .
Sin embargo, después de Spring-Boot 2.0 , el funcionario no recomienda que cree una aplicación de servidor Zipkin agregando dependencias manualmente . Así que este artículo presenta principalmente los dos primeros métodos.
1. Introducción básica
1. ¿Qué es Zipkin?
(1) Zipkin es un proyecto de código abierto de Twitter , que se basa en Google Dapper . Se puede utilizar para recopilar los datos de seguimiento del enlace de solicitud en cada servidor y, a través de la interfaz API REST , proporciona ayuda para consultar los datos de seguimiento para realizar el programa de seguimiento del sistema distribuido, a fin de encontrar el problema de aumento retraso en el sistema a tiempo, para averiguar la causa raíz de los cuellos de botella en el rendimiento del sistema.
(2) Además de la interfaz API orientada al desarrollo , también proporciona componentes de interfaz de usuario convenientes para ayudarnos a buscar de manera intuitiva información de seguimiento y analizar los detalles del enlace de la solicitud, como: consultar el tiempo de procesamiento de cada solicitud del usuario dentro de un cierto período de tiempo , etc.
2. Infraestructura Zipkin
La siguiente figura muestra la arquitectura básica de Zipkin , que se compone principalmente de 4 componentes principales:
- Recopilador : componente recopilador, que se utiliza principalmente para procesar la información de seguimiento enviada desde sistemas externos y convertir esta información al formato Span procesado internamente por Zipkin para admitir el almacenamiento, análisis, visualización y otras funciones posteriores.
- Almacenamiento : El componente de almacenamiento, que procesa principalmente la información de seguimiento que recibe el recolector, y almacena esta información en la memoria por defecto. También podemos modificar esta estrategia de almacenamiento para almacenar la información de seguimiento en la base de datos mediante el uso de otros componentes de almacenamiento.
- API RESTful : componente API , se utiliza principalmente para proporcionar una interfaz de acceso externa. Por ejemplo, mostrar información de seguimiento al cliente o acceder a un sistema externo para el seguimiento.
- Interfaz de usuario web : componentes de interfaz de usuario , aplicaciones de nivel superior basadas en componentes de API . A través de los componentes de la interfaz de usuario , los usuarios pueden consultar y analizar la información de seguimiento de manera conveniente e intuitiva. proyecto java www.fhadmin.org
Dos, revisa el paquete Jar
1. Descarga el paquete jar
(1) Primero, visitamos la página oficial de descarga del paquete Jar (https://dl.bintray.com/openzipkin/maven/io/zipkin/zipkin-server/) proyecto java www.fhadmin.org:
(2) Seleccione el jar al final de exec.jar para descargar:
2. Ejecute el paquete jar
(1) Después de la descarga, ejecute el siguiente comando para iniciar el servicio, el puerto predeterminado es 9411
1 |
|
(2) O podemos ejecutar el siguiente comando para ejecutar el servicio Zipkin como un demonio en segundo plano:
1 |
|
(3) Después de comenzar, visite http: // IP: 9411 a través del navegador , puede ver la página de administración de Zipkin como se muestra en la siguiente figura :
3. Configuración de parámetros
(1) Si necesita cambiar a otro puerto (como 8888 ), puede ejecutar el siguiente comando para iniciar el servicio:
1 |
|
(2) Si desea que el servidor Zipkin obtenga información de seguimiento del middleware de mensajería (como RabbitMQ ), proyecto java www.fhadmin.org, puede ejecutar el siguiente comando para iniciar el servicio:
|
(3) Después de comenzar, marque la opción Colas de la consola web de RabbitMq , puede ver que se ha creado una cola llamada zipkin , que también es la cola de escucha predeterminada de Zipkin :
Tres, recorre la imagen de Docker
1. Descarga el espejo
Ejecute el siguiente comando para llevar la imagen al local:
1 |
|
2. Ejecute el contenedor
(1) Después de descargar la imagen, ejecute el siguiente comando para ejecutar, el puerto de servicio es 9411
1 |
|
(2) Si desea que el servidor Zipkin obtenga información de seguimiento del middleware de mensajes (como RabbitMQ ), puede ejecutar el siguiente comando para ejecutar el contenedor:
1 |
|
(3) Si tiene que usar el comando docker para iniciar el contenedor zipkin por separado cada vez que todavía es un poco engorroso, también podemos iniciarlo a través de Docker Compose . El contenido del archivo docker-compose.yml es el siguiente:
versión 2' servicios: zipkin: imagen: openzipkin / zipkin nombre_contenedor: zipkin medio ambiente: - DIRECCIONES_ CONEJO = 192.168.60.133: 5672 - CONEJO_USER = colgar - CONTRASEÑA_ CONEJO = 123 puertos: - 9411: 9411