Πριν από την εξέταση αυτού του άρθρου, πρέπει να αναπτύξετε ένα περιβάλλον Jaeger, ως εξής:
Πρωτόκολλο OpenTracing
Το OpenTracing είναι ένα κατανεμημένο πρωτόκολλο παρακολούθησης που είναι ανεξάρτητο από την πλατφόρμα ή τη γλώσσα, με ενοποιημένη διεπαφή, η οποία είναι βολική για την ανάπτυξη και την πρόσβαση διαφορετικών κατανεμημένων συστημάτων παρακολούθησης.Ο Zipkin και ο Jaeger ακολουθούν και οι δύο το πρωτόκολλο OpenTracing。
Κατανεμημένο σύστημα παρακολούθησης Jaeger
Το Jaeger είναι ένα κατανεμημένο σύστημα παρακολούθησης που αναπτύχθηκε από την Uber και χρησιμοποιείται ήδη σε κλίμακα στην Uber. Και εντάχθηκε στον οργανισμό ανοιχτού κώδικα CNCF στις 13 Σεπτεμβρίου 2017. Η χρήση του Jaeger μπορεί να απεικονίσει την αλυσίδα κλήσεων ολόκληρου του κατανεμημένου συστήματος, το οποίο μπορεί εύκολα να εντοπίσει και να λύσει προβλήματα:
λειτουργία
- Διάχυση πληροφοριών σε κατανεμημένο περιβάλλον
- Κατανεμημένη παρακολούθηση συναλλαγών
- Επιδεικνύει αλυσίδες κλήσεων μεταξύ διεργασιών
- Βελτιστοποίηση απόδοσης
- Εντοπίστε το πρόβλημα
χαρακτηριστικός
- Το πλεονέκτημα της χρήσης του UDP για τη μετάδοση δεδομένων σε σύγκριση με το HTTP είναι ότι δεν χρειάζεται να ανησυχείτε για το χρόνο διακοπής λειτουργίας της υπηρεσίας Jaeger ή τα προβλήματα μετάδοσης δικτύου που επηρεάζουν την κανονική επιχείρηση. Το μειονέκτημα είναι η απώλεια πακέτων, η οποία επηρεάζει ολόκληρη την αλυσίδα κλήσεων.
- Τα δεδομένα σειριοποιούνται μέσω Thrift ή protobuf (μετάδοση gRPC), που είναι η προεπιλογή: Thrift.
Στρατηγική συλλογής
- ConstSampler, πλήρης συλλογή
- ProbabilisticSampler, συλλογή πιθανοτήτων, προεπιλογή σε 1 στις 10.000
- Το RateLimitingSampler είναι μια απόκτηση περιορισμού ρυθμού που μπορεί να συλλέξει μόνο μια συγκεκριμένη ποσότητα δεδομένων ανά δευτερόλεπτο
- Το RemotelyControlledSampler είναι μια δυναμική στρατηγική συλλογής που προσαρμόζει τη στρατηγική συλλογής ανάλογα με τον αριθμό των επισκέψεων στο τρέχον σύστημα
Το ASP.NET Core είναι συνδεδεμένο με την ανίχνευση συνδέσμων Jaeger
Το έργο είναι ένα πλαίσιο για το .NET Core 3.1 και το Nuget εγκαθιστά τα ακόλουθα πακέτα:
Μεταξύ αυτών, το OpenTracing.Contrib.NetCore παρέχει το εργαλείο OpenTracing για εφαρμογές που βασίζονται σε .NET Core, το οποίο είναι απλώς μια επέκταση και η κύρια παρακολούθηση είναι η εξής:
- ASP.NET Πυρήνας
- Πυρήνας πλαισίου οντοτήτων
- System.Net.Http (HttpClient)
- System.Data.SqlClient
- Microsoft.Data.SqlClient
Στο αρχείο εκκίνησης, η μέθοδος ConfigureServices διαμορφώνεται ως εξής:
Η κλήση του ITracer στα αρχεία καταγραφής του ελεγκτή HomeController και στον χρονοβόρο κώδικα έχει ως εξής:
Εκκινήστε τον ιστότοπο, επισκεφτείτε τη σελίδα /Home/Index και, στη συνέχεια, δείτε τον σύνδεσμο μέσω του διαδικτυακού περιβάλλοντος εργασίας χρήστη Jaeger για να επισκεφθείτε:http://127.0.0.1:16686/, μπορείτε να αναζητήσετε τον πρώτο αριθμό ανά ετικέτες, όπως φαίνεται στο παρακάτω σχήμα:
http.url=http://localhost:27138/ Οπως φαίνεται παρακάτω:
Λήψη πηγαίου κώδικα:
Τουρίστες, αν θέλετε να δείτε το κρυφό περιεχόμενο αυτής της ανάρτησης, παρακαλώ Απάντηση
Πόροι:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
|