Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Σας προτείνω να διαβάσετε τη μεταγραφή της αναφοράς του Alexander Sigachev Service Discovery σε κατανεμημένα συστήματα χρησιμοποιώντας το Consul ως παράδειγμα.

Το Service Discovery δημιουργήθηκε έτσι ώστε με ελάχιστο κόστος να μπορείτε να συνδέσετε μια νέα εφαρμογή στο υπάρχον περιβάλλον μας. Χρησιμοποιώντας το Service Discovery, μπορούμε να διαχωρίσουμε στο μέγιστο είτε ένα docker container είτε μια εικονική υπηρεσία από το περιβάλλον στο οποίο εκτελείται.

Καλωσορίζω όλους! Είμαι ο Alexander Sigachev, εργάζομαι στην Inventos. Και σήμερα θα σας παρουσιάσω μια ιδέα όπως το Service Discovery. Ας δούμε το Service Discovery χρησιμοποιώντας το Consul ως παράδειγμα.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Ποια προβλήματα επιλύει το Service Discovery; Το Service Discovery δημιουργήθηκε έτσι ώστε με ελάχιστο κόστος να μπορείτε να συνδέσετε μια νέα εφαρμογή στο υπάρχον περιβάλλον μας. Χρησιμοποιώντας το Service Discovery, μπορούμε να διαχωρίσουμε στο μέγιστο είτε ένα docker container είτε μια εικονική υπηρεσία από το περιβάλλον στο οποίο εκτελείται.

Πως μοιάζει? Σε ένα κλασικό παράδειγμα στον Ιστό, αυτή είναι η διεπαφή που αποδέχεται το αίτημα του χρήστη. Στη συνέχεια, το δρομολογεί στο backend. Σε αυτό το παράδειγμα, αυτό το load-balancer εξισορροπεί δύο backends.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Εδώ βλέπουμε ότι ξεκινάμε μια τρίτη παρουσία της εφαρμογής. Κατά συνέπεια, όταν ξεκινά η εφαρμογή, εγγράφεται στο Service Discovery. Το Service Discovery ειδοποιεί το load-balancer. Το Load-balancer αλλάζει τις ρυθμίσεις του αυτόματα και το νέο backend τίθεται σε λειτουργία. Με αυτόν τον τρόπο, μπορούν να προστεθούν backend ή, αντίθετα, να αποκλειστούν από την εργασία.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Τι άλλο είναι βολικό να κάνετε με το Service Discovery; Το Service Discovery μπορεί να αποθηκεύσει παραμέτρους nginx, πιστοποιητικά και μια λίστα ενεργών διακομιστών υποστήριξης.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ ΣιγκάτσεφΤο Service Discovery σάς επιτρέπει επίσης να εντοπίζετε βλάβες και να εντοπίζετε αστοχίες. Ποια είναι τα πιθανά σχήματα για τον εντοπισμό αστοχιών;

  • Αυτή η εφαρμογή που αναπτύξαμε ειδοποιεί αυτόματα το Service Discovery ότι εξακολουθεί να λειτουργεί.
  • Το Service Discovery, από την πλευρά του, δημοσκοπεί την εφαρμογή για διαθεσιμότητα.
  • Ή χρησιμοποιούμε μια δέσμη ενεργειών ή μια εφαρμογή τρίτου κατασκευαστή που ελέγχει την εφαρμογή μας για διαθεσιμότητα και ειδοποιεί το Service Discovery ότι όλα είναι εντάξει και μπορούν να λειτουργήσουν ή, αντίθετα, ότι όλα δεν είναι καλά και ότι αυτή η περίπτωση της εφαρμογής πρέπει να εξαιρεθεί από την εξισορρόπηση.

Κάθε ένα από τα σχήματα μπορεί να χρησιμοποιηθεί ανάλογα με το λογισμικό που χρησιμοποιούμε. Για παράδειγμα, μόλις ξεκινήσαμε να αναπτύσσουμε ένα νέο έργο, τότε μπορούμε εύκολα να παρέχουμε ένα σχήμα όταν η εφαρμογή μας ειδοποιεί το Service Discovery. Ή μπορούμε να συνδέσουμε ότι το Service Discovery ελέγχει.

Εάν κληρονομήσαμε την εφαρμογή ή αναπτύχθηκε από κάποιον άλλο, τότε η τρίτη επιλογή είναι κατάλληλη όταν γράφουμε έναν χειριστή και όλα αυτά μπαίνουν αυτόματα στη δουλειά μας.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Αυτό είναι ένα παράδειγμα. Το Load-balancer με τη μορφή nginx επανεκκινείται. Αυτό είναι ένα προαιρετικό βοηθητικό πρόγραμμα που παρέχεται με το Consul. Αυτό είναι πρότυπο προξένου. Περιγράφουμε τον κανόνα. Λέμε ότι χρησιμοποιούμε ένα πρότυπο (Golang Template Engine). Όταν προκύπτουν συμβάντα, όταν έχουν πραγματοποιηθεί ειδοποιήσεις για αλλαγές, δημιουργείται εκ νέου και η εντολή "reload" αποστέλλεται στο Service Discovery. Το απλούστερο παράδειγμα είναι όταν το nginx ρυθμίζεται εκ νέου από ένα συμβάν και επανεκκινείται.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Τι είναι το Consul;

  • Πρώτα απ 'όλα, αυτό είναι το Service Discovery.

  • Διαθέτει μηχανισμό ελέγχου διαθεσιμότητας - Έλεγχος υγείας.

  • Διαθέτει και KV Store.

  • Και βασίζεται στη δυνατότητα χρήσης Multi Datacenter.

Σε τι μπορούν να χρησιμοποιηθούν όλα αυτά; Στο KV Store μπορούμε να αποθηκεύσουμε παραδείγματα παραμέτρων. Έλεγχος υγείας μπορούμε να ελέγξουμε την τοπική υπηρεσία και να ειδοποιήσουμε. Το Multi Datacenter χρησιμοποιείται για να μπορεί να κατασκευαστεί ένας χάρτης υπηρεσιών. Για παράδειγμα, το Amazon έχει πολλές ζώνες και δρομολογεί την κυκλοφορία με τον βέλτιστο τρόπο, ώστε να μην υπάρχουν περιττά αιτήματα μεταξύ των κέντρων δεδομένων, τα οποία χρεώνονται ξεχωριστά από την τοπική κίνηση και, κατά συνέπεια, έχουν μικρότερο λανθάνοντα χρόνο.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Ας καταλάβουμε λίγο τους όρους που χρησιμοποιούνται στο Consul.

  • Το Consul είναι μια υπηρεσία γραμμένη στο Go. Ένα από τα πλεονεκτήματα ενός προγράμματος Go είναι 1 δυαδικό αρχείο που μόλις κατεβάσετε. Ξεκίνησε από οπουδήποτε και δεν έχετε εξαρτήσεις.
  • Στη συνέχεια, χρησιμοποιώντας τα πλήκτρα, μπορούμε να ξεκινήσουμε αυτήν την υπηρεσία είτε σε λειτουργία πελάτη είτε σε λειτουργία διακομιστή.
  • Επίσης, το χαρακτηριστικό "datacenter" σάς επιτρέπει να ορίσετε μια σημαία σε ποιο κέντρο δεδομένων ανήκει αυτός ο διακομιστής.
  • Συναίνεση – με βάση το πρωτόκολλο της σχεδίας. Αν κάποιος ενδιαφέρεται, μπορεί να διαβάσει περισσότερα για αυτό στην ιστοσελίδα του Προξένου. Αυτό είναι ένα πρωτόκολλο που σας επιτρέπει να προσδιορίσετε τον ηγέτη και να προσδιορίσετε ποια χρήματα θεωρούνται έγκυρα και προσβάσιμα.
  • Το Gossip είναι ένα πρωτόκολλο που επιτρέπει την αλληλεπίδραση μεταξύ των κόμβων. Επιπλέον, αυτό το σύστημα είναι αποκεντρωμένο. Μέσα σε ένα κέντρο δεδομένων, όλοι οι κόμβοι επικοινωνούν με τους γείτονές τους. Και, κατά συνέπεια, πληροφορίες σχετικά με την τρέχουσα κατάσταση μεταδίδονται μεταξύ τους. Μπορούμε να πούμε ότι πρόκειται για κουτσομπολιά μεταξύ γειτόνων.
  • LAN Gossip – τοπική ανταλλαγή δεδομένων μεταξύ γειτόνων στο ίδιο κέντρο δεδομένων.
  • WAN Gossip - χρησιμοποιείται όταν χρειάζεται να συγχρονίσουμε πληροφορίες μεταξύ δύο κέντρων δεδομένων. Οι πληροφορίες ρέουν μεταξύ κόμβων που επισημαίνονται ως διακομιστής.
  • RPC – σας επιτρέπει να εκτελείτε αιτήματα μέσω ενός πελάτη σε έναν διακομιστή.

Περιγραφή RPC. Ας υποθέσουμε ότι η Consul εκτελείται ως πελάτης σε εικονική μηχανή ή φυσικό διακομιστή. Επικοινωνούμε μαζί του τοπικά. Στη συνέχεια, ο τοπικός πελάτης ζητά πληροφορίες από τον διακομιστή και συγχρονίζεται. Ανάλογα με τις ρυθμίσεις, οι πληροφορίες μπορούν να ανακτηθούν από την τοπική κρυφή μνήμη ή μπορούν να συγχρονιστούν με τον οδηγό, με τον κύριο διακομιστή.

Αυτά τα δύο συστήματα έχουν πλεονεκτήματα και μειονεκτήματα. Αν δουλεύουμε με τοπική κρυφή μνήμη, τότε είναι γρήγορο. Εάν εργαζόμαστε με δεδομένα που είναι αποθηκευμένα στον διακομιστή, χρειάζεται περισσότερος χρόνος, αλλά λαμβάνουμε πιο σχετικές πληροφορίες.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Εάν το απεικονίζετε γραφικά, τότε αυτή είναι η εικόνα του ιστότοπου. Βλέπουμε ότι έχουμε τρεις κύριους που τρέχουν. Το ένα σημειώνεται με έναν αστερίσκο ως αρχηγός. Σε αυτό το παράδειγμα, υπάρχουν τρεις πελάτες που ανταλλάσσουν πληροφορίες τοπικά μεταξύ τους μέσω UDP/TCP. Και οι πληροφορίες μεταξύ των κέντρων δεδομένων μεταφέρονται μεταξύ των διακομιστών. Εδώ οι πελάτες αλληλεπιδρούν μεταξύ τους τοπικά.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Τι API παρέχει η Consul; Για να λάβει πληροφορίες, ο Consul διαθέτει δύο τύπους API.

Αυτό είναι το DNS API. Από προεπιλογή, το Consul εκτελείται στη θύρα 8600. Μπορούμε να διαμορφώσουμε το αίτημα μεσολάβησης και να παρέχουμε πρόσβαση μέσω τοπικής ανάλυσης, μέσω τοπικού DNS. Μπορούμε να ρωτήσουμε ανά τομέα και να λάβουμε πληροφορίες διεύθυνσης IP ως απάντηση.

HTTP API - ή μπορούμε να ζητήσουμε τοπικά πληροφορίες σχετικά με μια συγκεκριμένη υπηρεσία στη θύρα 8500 και να λάβουμε μια απάντηση JSON, ποια IP έχει ο διακομιστής, ποιος κεντρικός υπολογιστής, ποια θύρα είναι καταχωρημένη. Και πρόσθετες πληροφορίες μπορούν να μεταδοθούν μέσω διακριτικού.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Τι χρειάζεστε για να διευθύνετε το Consul;

Στην πρώτη επιλογή, στη λειτουργία προγραμματιστή υποδεικνύουμε τη σημαία ότι πρόκειται για λειτουργία προγραμματιστή. Ο πράκτορας ξεκινά ως διακομιστής. Και εκτελεί ολόκληρη τη λειτουργία ανεξάρτητα σε ένα μηχάνημα. Βολικό, γρήγορο και πρακτικά δεν απαιτούνται πρόσθετες ρυθμίσεις για την πρώτη εκκίνηση.

Ο δεύτερος τρόπος είναι η εκκίνηση στην παραγωγή. Εδώ είναι που η εκκίνηση γίνεται λίγο περίπλοκη. Εάν δεν έχουμε καμία έκδοση του προξένου, τότε πρέπει να φέρουμε το πρώτο μηχάνημα σε bootstrap, δηλαδή αυτό το μηχάνημα, το οποίο θα αναλάβει τις ευθύνες του αρχηγού. Το ανεβάζουμε και μετά ανεβάζουμε τη δεύτερη παρουσία του διακομιστή, περνώντας του πληροφορίες όπου βρίσκεται ο κύριος μας. Ανεβάζουμε το τρίτο. Αφού έχουμε τρία μηχανήματα σε λειτουργία, το κάνουμε επανεκκίνηση σε κανονική λειτουργία στο πρώτο μηχάνημα από το bootstrap που τρέχει. Τα δεδομένα συγχρονίζονται και το αρχικό σύμπλεγμα είναι ήδη ενεργοποιημένο.

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

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Πώς παρέχονται οι υγειονομικοί έλεγχοι; Γράφουμε έναν κανόνα επαλήθευσης με τη μορφή Json στον κατάλογο διαμόρφωσης Consul. Η πρώτη επιλογή είναι η διαθεσιμότητα του τομέα google.com σε αυτό το παράδειγμα. Και λέμε ότι αυτός ο έλεγχος πρέπει να γίνεται σε διαστήματα 30 δευτερολέπτων. Με αυτόν τον τρόπο ελέγχουμε ότι ο κόμβος μας έχει πρόσβαση στο εξωτερικό δίκτυο.

Η δεύτερη επιλογή είναι να ελέγξετε τον εαυτό σας. Χρησιμοποιούμε κανονικό curl για να καλέσουμε τον localhost στην καθορισμένη θύρα σε διαστήματα 10 δευτερολέπτων.

Αυτοί οι έλεγχοι συνοψίζονται και αποστέλλονται στο Service Discovery. Με βάση τη διαθεσιμότητα, αυτοί οι κόμβοι είτε εξαιρούνται είτε εμφανίζονται στη λίστα των διαθέσιμων μηχανημάτων που λειτουργούν σωστά.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

Η Consul παρέχει επίσης μια διεπαφή διεπαφής χρήστη, η οποία εκκινείται με ξεχωριστή σημαία και θα είναι διαθέσιμη στο μηχάνημα. Αυτό σας επιτρέπει να προβάλλετε πληροφορίες και μπορείτε επίσης να κάνετε κάποιες αλλαγές.

Σε αυτό το παράδειγμα, η καρτέλα "Υπηρεσία" είναι ανοιχτή. Αποδεικνύεται ότι λειτουργούν τρεις υπηρεσίες, η μία από αυτές είναι Πρόξενος. Αριθμός ελέγχων που πραγματοποιήθηκαν. Και υπάρχουν τρία κέντρα δεδομένων στα οποία βρίσκονται τα μηχανήματα.

Ανακάλυψη υπηρεσιών σε κατανεμημένα συστήματα χρησιμοποιώντας το παράδειγμα του Consul. Αλεξάντερ Σιγκάτσεφ

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

Μπορείτε επίσης να μεταδώσετε πληροφορίες στο Consul σχετικά με την κατάσταση των δίσκων και το μέσο φορτίο.

ερωτήσεις

Ερώτηση: Έχουμε ένα δοχείο αποβάθρας, πώς να το χρησιμοποιήσουμε με το Consul;

Απάντηση: Υπάρχουν διάφορες προσεγγίσεις για το docker container. Ένα από τα πιο συνηθισμένα είναι η χρήση ενός κοντέινερ docker τρίτου κατασκευαστή που είναι υπεύθυνο για την εγγραφή. Κατά την εκκίνηση, περνάει σε αυτό μια πρίζα βάσης. Όλες οι εκδηλώσεις εγγραφής κοντέινερ και κατάργησης της δημοσίευσης καταγράφονται στο Consul.

Ερώτηση: Οπότε ο ίδιος ο Πρόξενος ξεκινά το κοντέινερ του docker;

Απάντηση: Όχι. Τρέχουμε ένα κοντέινερ docker. Και κατά τη διαμόρφωση υποδεικνύουμε - ακούστε μια τέτοια υποδοχή. Αυτό είναι περίπου το ίδιο με το πώς εργαζόμαστε με ένα πιστοποιητικό, όταν ανεβάζουμε πληροφορίες σχετικά με το πού και τι έχουμε.

Ερώτηση: Αποδεικνύεται ότι μέσα στο κοντέινερ Docker που προσπαθούμε να συνδέσουμε στο Service Discovery θα πρέπει να υπάρχει κάποιο είδος λογικής που μπορεί να στείλει δεδομένα στον Consul;

Απάντηση: Όχι πραγματικά. Όταν ξεκινάει, περνάμε μεταβλητές μέσω της μεταβλητής περιβάλλοντος. Ας πούμε όνομα υπηρεσίας, θύρα υπηρεσίας. Το μητρώο ακούει αυτές τις πληροφορίες και τις καταχωρεί στο Consul.

Ερώτηση: Έχω μια άλλη ερώτηση σχετικά με το UI. Αναπτύξαμε τη διεπαφή χρήστη, για παράδειγμα, σε έναν διακομιστή παραγωγής. Τι γίνεται με την ασφάλεια; Πού αποθηκεύονται τα δεδομένα; Είναι δυνατόν να συγκεντρωθούν με κάποιο τρόπο δεδομένα;

Απάντηση: Στο UI υπάρχουν δεδομένα από τη βάση δεδομένων και από το Service Discovery. Ορίζουμε μόνοι μας κωδικούς πρόσβασης στις ρυθμίσεις.

Ερώτηση: Μπορεί να δημοσιευθεί στο Διαδίκτυο;

Απάντηση: Από προεπιλογή, το Consul ξεκινά στον localhost. Για να δημοσιεύσετε στο Διαδίκτυο, θα χρειαστεί να εγκαταστήσετε κάποιου είδους διακομιστή μεσολάβησης. Είμαστε υπεύθυνοι για τους δικούς μας κανόνες ασφαλείας.

Ερώτηση: Παρέχει ιστορικά δεδομένα εκτός πλαισίου; Είναι ενδιαφέρον να δούμε τα στατιστικά στοιχεία για τους ελέγχους υγείας. Μπορείτε επίσης να διαγνώσετε προβλήματα εάν ο διακομιστής αποτυγχάνει συχνά.

Απάντηση: Δεν είμαι σίγουρος ότι υπάρχουν λεπτομέρειες ελέγχων εκεί.

Ερώτηση: Η τρέχουσα κατάσταση δεν είναι τόσο σημαντική όσο η δυναμική.

Απάντηση: Για ανάλυση – ναι.

Ερώτηση: Είναι καλύτερα να μην χρησιμοποιείτε το Service Discovery για Consul docker;

Απάντηση: Δεν θα συνιστούσα να το χρησιμοποιήσετε. Ο σκοπός της έκθεσης είναι να εισαγάγει τι υπάρχει μια τέτοια έννοια. Ιστορικά, έχει περάσει, κατά τη γνώμη μου, στην 1η έκδοση. Τώρα υπάρχουν ήδη πιο ολοκληρωμένες λύσεις, για παράδειγμα, η Kubernetes, η οποία τα έχει όλα αυτά κάτω από την κουκούλα. Ως μέρος του Kubernetes Service Discovery είναι κατώτερο από το Etcd. Αλλά δεν είμαι τόσο εξοικειωμένος με αυτό όσο με το Consul. Ως εκ τούτου, αποφάσισα να κάνω το Service Discovery χρησιμοποιώντας το Consul ως παράδειγμα.

Ερώτηση: Δεν επιβραδύνει το σχήμα με έναν leader server την έναρξη της εφαρμογής συνολικά; Και πώς καθορίζει ο Πρόξενος έναν νέο ηγέτη αν αυτός λέει ψέματα;

Απάντηση: Έχουν ένα ολόκληρο πρωτόκολλο που περιγράφεται. Αν σας ενδιαφέρει μπορείτε να το διαβάσετε.

Ερώτηση: Ο Consul λειτουργεί ως πλήρης διακομιστής για εμάς και όλα τα αιτήματα διέρχονται από αυτόν;

Απάντηση: Δεν λειτουργεί ως πλήρης διακομιστής, αλλά καταλαμβάνει μια συγκεκριμένη ζώνη. Συνήθως τελειώνει με υπηρεσία.consul. Και μετά προχωράμε λογικά. Δεν χρησιμοποιούμε ονόματα τομέα στην παραγωγή, αλλά μάλλον την εσωτερική υποδομή, η οποία συνήθως κρύβεται πίσω από την προσωρινή αποθήκευση διακομιστή, εάν εργαζόμαστε χρησιμοποιώντας DNS.

Ερώτηση: Δηλαδή, αν θέλουμε να έχουμε πρόσβαση σε μια βάση δεδομένων, τότε σε κάθε περίπτωση θα τραβήξουμε τον Consul να βρει πρώτα αυτήν τη βάση δεδομένων, σωστά;

Απάντηση: Ναι. Εάν εργαζόμαστε χρησιμοποιώντας DNS, τότε λειτουργεί το ίδιο όπως χωρίς Consul όταν χρησιμοποιούμε ονόματα DNS. Συνήθως, οι σύγχρονες εφαρμογές δεν τραβούν το όνομα τομέα σε κάθε αίτημα, επειδή εγκαταστήσαμε τη σύνδεση, όλα λειτουργούν και στο εγγύς μέλλον πρακτικά δεν το χρησιμοποιούμε. Αν χαλάσει η σύνδεση, τότε ναι, ρωτάμε πάλι πού είναι η βάση μας και πηγαίνουμε σε αυτήν.

συνομιλία προϊόντων hashicorp — Συνομιλία χρήστη Hashicorp: Consul, Nomad, Terraform

ΥΓ Σχετικά με τους υγειονομικούς ελέγχους. Ο Consul, όπως και ο Kubernetes, χρησιμοποιεί το ίδιο σύστημα για τον έλεγχο της κατάστασης επιβίωσης μιας υπηρεσίας με βάση την κατάσταση κωδικού.

200 OK for healthy
503 Service Unavailable for unhealthy

Πηγές:
https://www.consul.io/docs/agent/checks.html
https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
https://thoslin.github.io/microservice-health-check-in-kubernetes/

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο