Maison  >  Article  >  Java  >  Sleuth et Zipkin : traçage distribué, révélant les mystères des boîtes noires d'application

Sleuth et Zipkin : traçage distribué, révélant les mystères des boîtes noires d'application

PHPz
PHPzavant
2024-03-09 09:25:05517parcourir

Sleuth 与 Zipkin:分布式追踪,揭开应用黑盒中的奥秘

Dans la conception architecturale des applications Internet d’aujourd’hui, les systèmes distribués sont devenus la norme. Dans un système aussi complexe, localiser le point de défaillance lorsqu’un problème survient est une tâche très difficile. Pour résoudre ce problème, les développeurs doivent utiliser des outils de traçage distribués pour découvrir les mystères de la boîte noire des applications. Cet article présentera Sleuth et Zipkin, deux outils de traçage distribués populaires, pour aider les développeurs à mieux surveiller et déboguer les systèmes distribués.

Avec la prolifération des microservicesarchitectures et des systèmes distribués complexes, le suivi du flux de demandes et de réponses entre les composants et les services est devenu essentiel. DistribuéTracingVisualisationprocessus d'exécution des applications, révélant les goulots d'étranglement des performances, les dépendances et les anomalies.

Sleuth : l'outil de suivi de Spring Boot

Sleuth est un framework de traçage distribué léger pour les applications Spring Boot. Il s'intègre à spring cloud Sleuth Starter pour fournir des capacités de suivi prêtes à l'emploi. Ajoutez simplement des dépendances pour capturer automatiquement des événements tels que les requêtes Http, les appels Base de données et les appels de service à distance.

Exemple de code :

@Configuration
public class SleuthConfig {
@Bean
public Sampler sampler() {
return Sampler.ALWAYS_SAMPLE;
}
}

Zipkin : un outil de visualisation pour suivre les données

Zipkin est une plateforme open source permettant de collecter, de stocker et d'interroger des données de suivi. Il fournit une interface utilisateur interactive qui permet aux utilisateurs d'explorer intuitivement les données de trace et d'identifier les dépendances et les problèmes de performances.

Exemple de code :

import io.zipkin.reporter.AsyncReporter;
import io.zipkin.reporter.okhttp3.Okhttpsender;
import io.zipkin.zipkin2.Span;

// 使用 OkHttp 发送器将追踪数据发送到 Zipkin 服务器
OkHttpSender sender = OkHttpSender.newBuilder().endpoint("http://localhost:9411/api/v2/spans").build();
// 使用异步报告器,提高性能
AsyncReporter reporter = AsyncReporter.newBuilder(sender).build();

// 上报追踪信息到 Zipkin 服务器
reporter.report(span);

Le mariage de Sleuth et Zipkin

L'intégration de Sleuth avec Zipkin permet d'exporter facilement les données de suivi de l'application Sleuth vers la plateforme Zipkin. Cette intégration est possible via le spring Cloud Sleuth Zipkin Starter.

Exemple de code :

@Configuration
public class SleuthZipkinConfig {
@Bean
public ZipkinSender sender() {
return new ZipkinSender();
}

@Bean
public SpanReporter reporter() {
return new SpanReporter.Builder(sender()).build();
}
}

Avantages du traçage distribué

Le traçage distribué présente les avantages suivants en matière de développement et de maintenance d'applications :

  • Améliorez les performances : Identifiez les goulots d'étranglement des performances et réduisez le temps de réponse.
  • Fiabilité améliorée : Découvrez et résolvez les pannes pour augmenter la disponibilité des applications.
  • Optimiser l'utilisation des ressources : Comprenez l'utilisation des ressources de vos applications, Optimisez les services et l'infrastructure cloud.
  • Débogage simplifié : Identifiez et résolvez rapidement les problèmes en suivant visuellement les données.
  • Observabilité améliorée : Fournit une vue complète des opérations de l'application pour une surveillanceet une gestion faciles.

Conclusion

Sleuth et Zipkin sont une puissante combinaison de traçage distribué, permettant aux développeurs d'avoir un aperçu de la logique interne d'une application, améliorant ainsi les performances et la fiabilité. En intégrant ces deux outils dans des systèmes distribués, vous pouvez améliorer considérablement l'observabilité des applications et obtenir les informations dont vous avez besoin pour contrôler, optimiser et dépanner.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer