Κοινή χρήση τεχνολογίας

Spring Cloud Alibaba - Φρουρός κυκλοφορίας κατανεμημένου συστήματος Sentinel

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Εισαγάγετε την περιγραφή της εικόνας εδώ

Πίνακας περιεχομένων

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

Καθώς οι μικροϋπηρεσίες γίνονται πιο δημοφιλείς, η σταθερότητα μεταξύ υπηρεσιών και υπηρεσιών γίνεται ολοένα και πιο σημαντική. Το Sentinel είναι ένα εξάρτημα διαχείρισης κυκλοφορίας για κατανεμημένη, πολυγλωσσική ετερογενή αρχιτεκτονική υπηρεσίας. Χρησιμοποιεί κυρίως την κυκλοφορία ως σημείο εισόδου, καλύπτοντας τη δρομολόγηση της κυκλοφορίας, τον έλεγχο της κυκλοφορίας, τη διαμόρφωση της κυκλοφορίας, την υποβάθμιση του διακόπτη κυκλώματος, την προσαρμοστική προστασία υπερφόρτωσης του συστήματος, την προστασία κυκλοφορίας hot spot κ.λπ. Διάσταση για να βοηθήσει τους προγραμματιστές να διασφαλίσουν τη σταθερότητα των μικροϋπηρεσιών.

Με λίγα λόγια, το Sentinel είναι ένα στοιχείο διαχείρισης κυκλοφορίας, το οποίο είναι ισοδύναμο με το Spring Cloud Circurk Breaker.

χαρακτηριστικό

  • Πλούσια σενάρια εφαρμογών: Η Sentinel έχει αναλάβει τα βασικά σενάρια της προώθησης κυκλοφορίας Double Eleven της Alibaba τα τελευταία 10 χρόνια, όπως οι πωλήσεις flash (δηλαδή, η κυκλοφορία ριπής ελέγχεται εντός του εύρους που μπορεί να αντέξει η χωρητικότητα του συστήματος), το ξύρισμα αιχμής μηνυμάτων και πλήρωση κοιλάδων και έλεγχος κυκλοφορίας συμπλέγματος, συγχώνευση μη διαθέσιμων εφαρμογών σε πραγματικό χρόνο, κ.λπ.
  • Πλήρης παρακολούθηση σε πραγματικό χρόνο: Το Sentinel παρέχει επίσης λειτουργίες παρακολούθησης σε πραγματικό χρόνο. Μπορείτε να δείτε τα δεδομένα δεύτερου επιπέδου ενός μεμονωμένου μηχανήματος που είναι συνδεδεμένο με την εφαρμογή στην κονσόλα, ακόμη και τη συνοπτική κατάσταση λειτουργίας ενός συμπλέγματος με λιγότερα από 500 μηχανήματα.
  • Εκτεταμένο οικοσύστημα ανοιχτού κώδικα: Το Sentinel παρέχει ενσωματωμένες ενότητες εκτός συσκευασίας με άλλα πλαίσια/βιβλιοθήκες ανοιχτού κώδικα, όπως ενσωμάτωση με Spring Cloud, Apache Dubbo, gRPC και Quarkus. Χρειάζεται μόνο να εισαγάγετε τις αντίστοιχες εξαρτήσεις και να εκτελέσετε απλή διαμόρφωση για γρήγορη σύνδεση στο Sentinel. Ταυτόχρονα, το Sentinel παρέχει εγγενείς υλοποιήσεις σε πολλές γλώσσες όπως Java/Go/C.
  • Πλήρης μηχανισμός επέκτασης SPI: Το Sentinel παρέχει μια εύχρηστη, πλήρη διεπαφή επέκτασης SPI. Μπορείτε να προσαρμόσετε γρήγορα τη λογική εφαρμόζοντας διεπαφές επέκτασης. Για παράδειγμα, προσαρμοσμένη διαχείριση κανόνων, προσαρμογή δυναμικών πηγών δεδομένων κ.λπ.

Τα κύρια χαρακτηριστικά του Sentinel:
Εισαγάγετε την περιγραφή της εικόνας εδώ

βασική ιδέα

πόρος

Οι πόροι είναι μια βασική έννοια στο Sentinel. Μπορεί να είναι οτιδήποτε μέσα σε μια εφαρμογή Java, όπως μια υπηρεσία που παρέχεται από την εφαρμογή ή από μια άλλη εφαρμογή που καλείται από την εφαρμογή, ή ακόμα και ένα κομμάτι κώδικα. Στην παρακάτω τεκμηρίωση, θα χρησιμοποιήσουμε πόρους για να περιγράψουμε μπλοκ κώδικα.

Εφόσον ο κώδικας που ορίζεται μέσω του Sentinel API είναι ένας πόρος, μπορεί να προστατεύεται από το Sentinel. Στις περισσότερες περιπτώσεις, μπορείτε να χρησιμοποιήσετε υπογραφές μεθόδων, διευθύνσεις URL ή ακόμη και ονόματα υπηρεσιών ως ονόματα πόρων για τον προσδιορισμό πόρων.

κανόνας
Οι κανόνες που ορίζονται γύρω από την κατάσταση σε πραγματικό χρόνο των πόρων μπορούν να περιλαμβάνουν κανόνες ελέγχου ροής, κανόνες υποβάθμισης του διακόπτη κυκλώματος και κανόνες προστασίας του συστήματος. Όλοι οι κανόνες μπορούν να προσαρμοστούν δυναμικά σε πραγματικό χρόνο. (Οι κανόνες μπορούν να οριστούν στην κονσόλα Sentinel, στη διαμόρφωση yml και στον κώδικα java)

Εγκαταστήστε το Sentinel

Η χρήση του Sentinel μπορεί να χωριστεί σε δύο μέρη:

  • Βιβλιοθήκη πυρήνα (πελάτης Java): δεν εξαρτάται από κανένα πλαίσιο/βιβλιοθήκη και μπορεί να εκτελεστεί Java 8 και άνωέκδοση του περιβάλλοντος χρόνου εκτέλεσης και έχει επίσης καλή υποστήριξη για πλαίσια όπως το Dubbo/Spring Cloud.
  • Πίνακας εργαλείων: Ο πίνακας εργαλείων είναι κυρίως υπεύθυνος για τη διαχείριση κανόνων ώθησης, την παρακολούθηση και τη διαχείριση πληροφοριών μηχανής.

Διαδρομή λήψης:https://github.com/alibaba/Sentinel/releases

Μετά τη λήψη, βρείτε το πακέτο jar και εκτελέστε την εντολή για να ξεκινήσετε την κονσόλα Sentinel.

java -jar sentinel-dashboard-xxx.jar

Το τοπικό περιβάλλον πρέπει να είναι jdk8 ή παραπάνω και η θύρα 8080 δεν είναι κατειλημμένη (θύρα κονσόλας Sentinel)
Ξεκινώντας από το Sentinel 1.6.0, η κονσόλα Sentinel εισάγει τις βασικές λειτουργίες σύνδεσης
Εισαγάγετε την περιγραφή της εικόνας εδώ

Η περίπτωση εισαγωγής του Sentinel στις μικροϋπηρεσίες

Δημιουργήστε μια νέα microservice, εισαγάγετε τα Nacos και Sentinel, καταχωρήστε την υπηρεσία στο Nacos και πραγματοποιήστε παρακολούθηση κυκλοφορίας, διακόπτη κυκλώματος και υποβάθμιση της υπηρεσίας.

Εισαγωγή εξαρτήσεων