À propos du projet
Zipkin est un système de traçage distribué permettant de collecter les données de minutage nécessaires pour résoudre les problèmes de latence dans les architectures de services. Il prend en charge la collecte et la recherche de données de trace.
Les utilisateurs peuvent ouvrir une trace directement par ID depuis les journaux ou effectuer une recherche par service, nom d'opération, tags, durée et autres attributs. L'interface résume des informations telles que le temps passé dans les services et les échecs d'opération, et affiche un diagramme de dépendances montrant le volume de requêtes tracées entre les applications, y compris les chemins d'erreur agrégés.
Les applications doivent être instrumentées avec un traceur ou une bibliothèque d'instrumentation pour rapporter les spans. Zipkin peut recevoir des données via HTTP et Kafka, avec des options de transport supplémentaires incluant ActiveMQ, gRPC, RabbitMQ et Pulsar. Le serveur sert l'interface web et les API, tandis que les données de span peuvent être conservées en mémoire pour les tests ou stockées dans des backends persistants pris en charge.
Les options de déploiement incluent un JAR exécutable autonome nécessitant JRE 17 ou version ultérieure, des images Docker, Homebrew et des charts Helm. Une version slim est plus petite et démarre plus rapidement, prenant en charge le stockage en mémoire et Elasticsearch mais omettant les transports de messagerie tels que Kafka et RabbitMQ.
Les composants de stockage incluent le stockage en mémoire pour les tests, Cassandra, et Elasticsearch/OpenSearch. Les liens de dépendances Cassandra et Elasticsearch sont agrégés via la tâche séparée zipkin-dependencies. Un composant de stockage MySQL v1 hérité reste disponible pour la transition, bien que le README indique que son schéma n'a pas été conçu pour des performances élevées. Les points de terminaison de recherche peuvent être désactivés pour réduire le coût de stockage ou augmenter le débit d'écriture, ne laissant que la récupération de traces par ID.
Le dépôt contient également la bibliothèque Java core minimale utilisée par le code d'instrumentation et le serveur, incluant des codecs pour les modèles de span JSON Zipkin v1 et v2. La bibliothèque core cible Java 8+, tandis que les composants de stockage et le serveur actuel nécessitent Java 17+. Les artefacts du serveur sont publiés sous le groupe Maven io.zipkin, les artefacts de bibliothèque sous io.zipkin.zipkin2, et les images de conteneur sont disponibles sur Docker Hub et GitHub Container Registry.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.