OpenTracing
Autentificarea cu hyperlink este vizibilă.
OpenTracing a dezvoltat un protocol Trace independent de platformă și de furnizor, permițând dezvoltatorilor să adauge sau să înlocuiască cu ușurință implementări ale sistemelor de trasare distribuită. În noiembrie 2016, Comitetul Tehnic CNCF a votat să accepte OpenTracing ca proiect găzduit, fiind al treilea proiect al CNCF, primul fiind Kubernetes, iar al doilea Prometheus, ceea ce arată că CNCF acordă o mare importanță observabilității din spatele OpenTracing. De exemplu, faimoșii Zipkin și Jaeger urmează amândoi protocolul OpenTracing.
OpenCensus
Autentificarea cu hyperlink este vizibilă.
Poate te întrebi, acum că OpenTracing a sosit, ce va face OpenCensus cu distracția? Ne pare rău, trebuie să știți că inițiatorul OpenCensus este Google, care este prima companie care a propus conceptul de Tracing, iar OpenCensus este versiunea comunitară a Google Dapper. Cea mai mare diferență dintre OpenCensus și OpenTracing este că, pe lângă Tracing, acestea includ și metrici, astfel încât monitorizarea de bază a metricilor poate fi făcută și pe OpenCensus. O altă diferență este că OpenCensus nu este o specificație simplă, el face totul, inclusiv agenți și colectori de date. OpenCensus are, de asemenea, un număr mare de fani, iar cea mai mare veste recentă este că Microsoft a anunțat și el că s-a alăturat, iar OpenCensus poate fi descris ca un tigru cu aripi.
Ce este OpenTelemetry?
Autentificarea cu hyperlink este vizibilă.
OpenTelemetry fuzionează proiectele OpenTracing și OpenCensus, oferind un set de API-uri și biblioteci pentru standardizarea achiziției și transmiterii datelor de telemetrie. OpenTelemetry oferă un instrument sigur, neutru față de furnizor, care permite trimiterea datelor către diferite backend-uri după necesitate.
Proiectul OpenTelemetry constă din următoarele componente:
- Promovarea utilizării specificațiilor consistente în toate proiectele
- Bazat pe specificații, cu API-uri pentru interfețe și implementări
- SDK-uri (implementări ale API-urilor) în diferite limbaje, precum Java, Python, Go, Erlang etc
- Exportatori: Datele pot fi trimise către un backend la alegere
- Colectoare: Implementare neutră față de furnizor pentru procesarea și exportul datelor de telemetrie
Terminologia Opentelemetry:
Trace-uri: Înregistrează activitatea cererii printr-un sistem distribuit, iar o trace este un graf dirijat aciclic de întinderi
Spans: O urmă reprezintă o operație denumită, bazată pe timp. Deschiderile se cuibăresc pentru a forma copaci de urme. Fiecare urmă conține un interval de rădăcină care descrie latența de la un capăt la altul, iar suboperațiile sale pot avea, de asemenea, una sau mai multe subînțelepciuni.
Metrici: Datele brute de metrică capturate la rulare despre serviciu. instrumente metrice definite prin Opentelemetry. Observer suportă achiziția de date prin API-uri asincrone, cu câte o dată la fiecare interval de achiziție.
Context: Un span conține un context span, care este un identificator global unic ce reprezintă cererea unică căreia îi aparține fiecare span, precum și datele necesare pentru transferul informațiilor de urmărire peste granițele serviciilor. OpenTelemetry suportă, de asemenea, contextul de corelație, care poate conține atribute definite de utilizator. Contextul de corelație nu este necesar, iar componenta poate alege să nu transporte și să stocheze acea informație.
Propagarea contextului: Indică transmiterea informațiilor contextuale între diferite servicii, de obicei prin antet HTTP. Propagarea contextului este una dintre caracteristicile cheie ale sistemului Opentelemetry. Pe lângă trasare, există și utilizări interesante, cum ar fi efectuarea testării A/B. OpenTelemetry suportă propagarea contextului pentru mai multe protocoale pentru a evita posibile probleme, dar este important de menționat că este mai bine să folosești o singură abordare în propria aplicație.
Beneficiile OpenTelemetry:
Prin fuziunea OpenTracing și OpenCensus într-un singur standard deschis, OpenTelemetry oferă următoarele facilități:
Ușor de ales: În loc să fie nevoit să alegi între cele două standarde, OpenTelemetry este compatibil atât cu OpenTracing, cât și cu OpenCensus. Cross-platform: OpenTelemetry suportă diverse limbaje și backend-uri. Reprezintă o modalitate neutră față de furnizor de a captura și transmite date de telemetrie către backend fără a schimba uneltele existente. Observabilitate simplificată: După cum spune OpenTelemetry, "telemetria de înaltă calitate necesită telemetrie de înaltă calitate". Mi-ar plăcea să văd mai mulți furnizori trecând la OpenTelemetry pentru că este mai convenabil și necesită testarea unui singur standard.
|