OpenTracing
De hyperlink-login is zichtbaar.
OpenTracing heeft een platform-agnostisch en leveranciers-onafhankelijk Trace-protocol ontwikkeld, waarmee ontwikkelaars eenvoudig implementaties van gedistribueerde traceersystemen kunnen toevoegen of vervangen. In november 2016 stemde het CNCF Technical Committee voor OpenTracing als gehost project, wat het derde project van de CNCF is, het eerste is Kubernetes en het tweede is Prometheus, wat aantoont dat de CNCF veel belang hecht aan de waarneembaarheid van OpenTracing. Zo volgen de beroemde Zipkin en Jaeger beide het OpenTracing-protocol.
OpenCensus
De hyperlink-login is zichtbaar.
Je vraagt je misschien af, nu OpenTracing er is, wat gaat OpenCensus met het plezier doen? Sorry, je moet weten dat de initiatiefnemer van OpenCensus Google is, het eerste bedrijf dat het concept van Tracing voorstelde, en OpenCensus is de communityversie van Google Dapper. Het grootste verschil tussen OpenCensus en OpenTracing is dat het naast Tracing ook metrics bevat, zodat basismonitoring van statistieken ook op OpenCensus kan worden uitgevoerd. Een ander verschil is dat OpenCensus geen eenvoudige specificatie is, hij doet ook alles, inclusief dataverzamelaars en verzamelaars. OpenCensus heeft ook een grote aanhang, en het grootste nieuws van recent is dat Microsoft ook heeft aangekondigd dat het lid is, en OpenCensus kan worden omschreven als een tijger met vleugels.
Wat is OpenTelemetry?
De hyperlink-login is zichtbaar.
OpenTelemetry voegt de OpenTracing- en OpenCensus-projecten samen en biedt een set API's en bibliotheken om de acquisitie en transmissie van telemetriegegevens te standaardiseren. OpenTelemetry biedt een veilig, leveranciersneutraal hulpmiddel waarmee data naar verschillende backends kan worden verzonden wanneer nodig.
Het OpenTelemetrie-project bestaat uit de volgende componenten:
- Stimuleer het gebruik van consistente specificaties in alle projecten
- Specificatie-gebaseerd, met API's voor interfaces en implementaties
- SDK's (implementaties van API's) in verschillende talen, zoals Java, Python, Go, Erlang, enzovoort
- Exporters: Data kan naar een backend naar keuze worden gestuurd
- Collectors: Leveranciersneutrale implementatie voor het verwerken en exporteren van telemetriegegevens
Opentelemetrie-terminologie:
Traces: Registreert de verzoekactiviteit via een gedistribueerd systeem, en een trace is een gerichte acyclische grafiek van spans
Spans: Een trace vertegenwoordigt een benoemde, tijdgebaseerde bewerking. Spant, nestelt om sporenbomen te vormen. Elke trace bevat een root span die de end-to-end latentie beschrijft, en de suboperaties kunnen ook één of meer subspans hebben.
Metrics: De ruwe metriekgegevens die tijdens runtime over de service worden vastgelegd. metrische instrumenten gedefinieerd door Opentelemetrie. Observer ondersteunt gegevensverzameling via asynchrone API's, met één data per verzamelinterval.
Context: Een span bevat een span-context, een wereldwijd unieke identificatie die het unieke verzoek vertegenwoordigt waartoe elke span behoort, evenals de gegevens die nodig zijn om trace-informatie over servicegrenzen heen over te dragen. OpenTelemetry ondersteunt ook correlatiecontext, die door de gebruiker gedefinieerde attributen kan bevatten. De correlatiecontext is niet vereist, en de component kan ervoor kiezen die informatie niet te dragen en op te slaan.
Contextpropagatie: Geeft het doorgeven van contextuele informatie aan tussen verschillende services, meestal via een HTTP-header. Contextpropagatie is een van de belangrijkste kenmerken van het Opentelemetrie-systeem. Naast het traceren zijn er ook interessante toepassingen, zoals het uitvoeren van A/B-tests. OpenTelemetry ondersteunt contextpropagatie voor meerdere protocollen om mogelijke problemen te voorkomen, maar het is belangrijk om te weten dat het het beste is om één aanpak in je eigen applicatie te gebruiken.
Voordelen van OpenTelemetry:
Door OpenTracing en OpenCensus samen te voegen tot één open standaard, biedt OpenTelemetry de volgende gemakken:
Makkelijk te kiezen: In plaats van te moeten kiezen tussen de twee standaarden, is OpenTelemetry compatibel met zowel OpenTracing als OpenCensus. Cross-platform: OpenTelemetry ondersteunt verschillende talen en backends. Het is een leveranciersneutrale manier om telemetriegegevens vast te leggen en naar de backend te verzenden zonder bestaande tools te veranderen. Vereenvoudigde observabiliteit: Zoals OpenTelemetry het zegt: "hoogwaardige telemetrie vereist hoogwaardige telemetrie". Ik zou graag zien dat meer leveranciers overstappen op OpenTelemetry omdat het handiger is en slechts één standaard hoeft te testen.
|