OpenTracing
Der Hyperlink-Login ist sichtbar.
OpenTracing hat ein plattformunabhängiges und herstellerunabhängiges Trace-Protokoll entwickelt, das es Entwicklern ermöglicht, Implementierungen von Distributed Tracing-Systemen einfach hinzuzufügen oder zu ersetzen. Im November 2016 stimmte das CNCF-Technische Komitee dafür, OpenTracing als gehostetes Projekt zu akzeptieren, das dritte Projekt der CNCF, das erste ist Kubernetes und das zweite ist Prometheus, was zeigt, dass das CNCF der Beobachtbarkeit von OpenTracing große Bedeutung beimisst. Zum Beispiel folgen sowohl der berühmte Zipkin als auch der Jaeger dem OpenTracing-Protokoll.
OpenCensus
Der Hyperlink-Login ist sichtbar.
Du fragst dich vielleicht, jetzt, wo OpenTracing da ist, was wird OpenCensus mit dem Spaß anfangen? Entschuldigung, Sie sollten wissen, dass Google der Initiator von OpenCensus ist, das erste Unternehmen, das das Konzept des Tracing vorgeschlagen hat, und OpenCensus ist die Community-Version von Google Dapper. Der größte Unterschied zwischen OpenCensus und OpenTracing besteht darin, dass es neben Tracing auch Metriken enthält, sodass grundlegende Metriküberwachung auch bei OpenCensus durchgeführt werden kann. Ein weiterer Unterschied ist, dass OpenCensus keine einfache Spezifikation ist, sondern auch alles erledigt, einschließlich Datenerfassungsagenten und Sammler. OpenCensus hat ebenfalls eine große Anhängerschaft, und die größte Neuigkeit in letzter Zeit ist, dass Microsoft ebenfalls angekündigt hat, beigetreten zu sein, und OpenCensus kann als Tiger mit Flügeln beschrieben werden.
Was ist OpenTelemetry?
Der Hyperlink-Login ist sichtbar.
OpenTelemetry vereint die OpenTracing- und OpenCensus-Projekte und stellt eine Reihe von APIs und Bibliotheken bereit, um die Erfassung und Übertragung von Telemetriedaten zu standardisieren. OpenTelemetry bietet ein sicheres, herstellerneutrales Tool, das es ermöglicht, Daten bei Bedarf an verschiedene Backends zu senden.
Das OpenTelemetrie-Projekt besteht aus folgenden Komponenten:
- Fördern Sie die Verwendung konsistenter Spezifikationen in allen Projekten
- Spezifikationsbasiert, mit APIs für Schnittstellen und Implementierungen
- SDKs (Implementierungen von APIs) in verschiedenen Sprachen wie Java, Python, Go, Erlang usw
- Exporter: Daten können an ein Backend Ihrer Wahl gesendet werden
- Collectors: Herstellerneutrale Implementierung zur Verarbeitung und zum Export von Telemetriedaten
OpenTelemetrie-Terminologie:
Traces: Zeichnet die Anfrageaktivität über ein verteiltes System auf, und ein Trace ist ein gerichteter azyklischer Graph von Spannen
Spans: Eine Spur stellt eine benannte, zeitbasierte Operation dar. Überspannt das Nest, um Spurenbäume zu bilden. Jede Spur enthält eine Wurzelspann, die die End-to-End-Latenz beschreibt, und ihre Teiloperationen können auch eine oder mehrere Teilspannen haben.
Metriken: Die Rohmetrikdaten, die zur Laufzeit über den Dienst erfasst werden. metrische Instrumente definiert durch OpenTelemetrie. Observer unterstützt die Datenerfassung über asynchrone APIs, wobei pro Erfassungsintervall jeweils eine Daten sind.
Kontext: Ein Spann enthält einen Span-Kontext, der eine global eindeutige Identifikatorin ist, die die eindeutige Anfrage darstellt, zu der jede Spanne gehört, sowie die Daten, die benötigt werden, um Trace-Informationen über Servicegrenzen hinweg zu übertragen. OpenTelemetry unterstützt außerdem den Korrelationskontext, der benutzerdefinierte Attribute enthalten kann. Der Korrelationskontext ist nicht erforderlich, und die Komponente kann sich entscheiden, diese Informationen nicht zu übertragen und zu speichern.
Kontextpropagation: Zeigt den Austausch kontextueller Informationen zwischen verschiedenen Diensten an, üblicherweise über einen HTTP-Header. Die Kontextpropagation ist eines der Schlüsselmerkmale des OpenTelemetrie-Systems. Neben der Nachverfolgung gibt es einige interessante Anwendungen wie die Durchführung von A/B-Tests. OpenTelemetry unterstützt die Kontextpropagation für mehrere Protokolle, um mögliche Probleme zu vermeiden, aber es ist wichtig zu beachten, dass es am besten ist, in der eigenen Anwendung einen einzigen Ansatz zu verwenden.
Vorteile von OpenTelemetry:
Durch die Zusammenlegung von OpenTracing und OpenCensus zu einem offenen Standard bietet OpenTelemetry folgende Annehmlichkeiten:
Leicht auszuwählen: Anstatt zwischen den beiden Standards wählen zu müssen, ist OpenTelemetry sowohl mit OpenTracing als auch mit OpenCensus kompatibel. Plattformübergreifend: OpenTelemetry unterstützt verschiedene Sprachen und Backends. Es stellt eine herstellerneutrale Methode dar, um Telemetriedaten an das Backend zu erfassen und zu übertragen, ohne bestehende Werkzeuge zu verändern. Vereinfachte Beobachtbarkeit: Wie OpenTelemetry es ausdrückt: "Hochwertige Telemetrie erfordert hochwertige Telemetrie". Ich würde gerne sehen, dass mehr Anbieter auf OpenTelemetry umsteigen, weil es bequemer ist und nur einen einzigen Standard getestet werden muss.
|