Τελευταία ενημέρωση:
Stanislav Anisimov
Throttling και Circuit Breaker
Click to expand / collapse
Με υψηλό φορτίο και πολλές ενοποιήσεις, είναι σημαντικό όχι μόνο να κλιμακώνονται, αλλά και να αποφεύγονται οι υπερφορτώσεις και οι αστοχίες που μοιάζουν με χιονοστιβάδα. Για το σκοπό αυτό χρησιμοποιούνται δύο βασικοί μηχανισμοί:
  • Το throttling - ελέγχει τη συχνότητα των αιτήσεων σε πραγματικό χρόνο, το Circuit Breaker - σπάει την αλυσίδα κλήσεων όταν οι βλάβες σε εξαρτώμενες υπηρεσίες.

Προστατεύουν την API από την πτώση, αυξάνουν την ανοχή βλάβης του συστήματος και βοηθούν στη διατήρηση σταθερής λειτουργίας ακόμη και σε περίπτωση μερικών αστοχιών.


Τι είναι το throttling

ΧαρακτηριστικόΠεριγραφή
Περιορισμός συχνότηταςΈλεγχος του αριθμού των αιτήσεων σε δεδομένο χρονικό διάστημα (RPS, RPM)
Ευέλικτη ρύθμισηΌρια τελικού σημείου, κλειδιού, χρήστη ή IP
Ομαλή απελευθέρωσηΜείωση φορτίου χωρίς πλήρη εμπλοκή

Τι είναι ο διακόπτης κυκλώματος

ΛειτουργίαΤι κάνει
Παρακολούθηση σφαλμάτωνΠαρακολουθεί τη συχνότητα των σφαλμάτων/χρονοδιαγραμμάτων στην API ή στην εξωτερική υπηρεσία
Αποσύνδεση κλήσηςΠροσωρινή παρεμπόδιση κλήσεων όταν επιτυγχάνεται το όριο αστοχίας
Αυτόματη ανάκτησηΈλεγχος διαθεσιμότητας και ενεργοποίησης κλήσεων κατά τη σταθεροποίηση

Πώς θα εφαρμόσουμε

Χρήση βιβλιοθηκών (π.χ. , Hystrix, Envoy, Kong)

Ρύθμιση ορίων πύλης και λογικής υποστήριξης

Μετρήσεις καταγραφής γεγονότων και αστοχίας/ανάκτησης

Ειδοποιήσεις διακόπτη κυκλώματος και δραματικά μειωμένο εύρος ζώνης

Ενσωμάτωση με Prometheus, Datadog, Grafana για παρακολούθηση


Πλεονεκτήματα

Προστασία από «κατάρρευση» του συστήματος σε περίπτωση αστοχιών ανάλογα με

Σταθερότητα υπό φορτίο και κατά τη διάρκεια συμβάντων

Απομόνωση προβληματικών συστατικών στοιχείων και βελτίωση της αξιοπιστίας της API

Απλοποιημένη αποσφαλμάτωση και γρήγορη απόκριση σε ανωμαλίες

Αποφυγή αστοχιών στην αρχιτεκτονική μικροϋπηρεσίας


Όπου είναι ιδιαίτερα σημαντικό

API που αλληλεπιδρούν με πύλες πληρωμών και εξωτερικές τράπεζες

Αρχιτεκτονικές μικροϋπηρεσιών πολλαπλών εξαρτήσεων

Εφαρμογές με εκατομμύρια χρήστες και υψηλό ανταγωνισμό πόρων

Πλατφόρμες πραγματικού χρόνου ευαίσθητες σε καθυστερήσεις


Το throttling και ο διακόπτης κυκλώματος είναι στρατηγικοί μηχανισμοί επιβίωσης του API. Θα εφαρμόσουμε προστασία που θα επιτρέψει στην υπηρεσία σας να παραμείνει σταθερή, γρήγορη και προβλέψιμη ακόμα και υπό τις πιο ασταθείς συνθήκες.

Δημοφιλή θέματα


Κύρια θέματα