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

Βήμα 1: ονομάστε το επίπεδο που παρατηρεί κάθε έλεγχος

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

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

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

Βήμα 2: συνδέστε κάθε αποτυχία με μία ενέργεια

Για κάθε έλεγχο, αποφασίστε τι επανεκκινεί, τι παραμένει αποκλεισμένο και τι καλεί έναν άνθρωπο. Μια αποτυχία στο επίπεδο της σήραγγας μπορεί να δικαιολογήσει επανεκκίνηση της σήραγγας· μια αποτυχία του επιλυτή δείχνει την ενσωμάτωση DNS στον πελάτη· μια αποτυχία στο επίπεδο της εφαρμογής σχεδόν ποτέ δεν πρέπει να αγγίζει τη σήραγγα.

Πείτε τι δεν πρέπει να κάνει μια αποτυχία, γιατί οι επικίνδυνες προεπιλογές είναι οι επιτρεπτικές. Μια ανθυγιεινή κατάσταση δεν πρέπει ποτέ να γίνει άδεια για άμεση κίνηση της εφαρμογής, αφού μια εφεδρική διαδρομή που παρακάμπτει ήσυχα τη σήραγγα αφαιρεί τον λόγο ύπαρξης της σήραγγας. Στενέψτε και τις ενέργειες: η επανεκκίνηση ενός κοινόχρηστου στοιχείου επειδή ένας προορισμός είναι αργός μετατρέπει ένα τοπικό πρόβλημα σε πρόβλημα όλου του στόλου. Καταστρέφει επίσης την απόδειξη που χρειαζόσασταν για να βρείτε την αιτία.

Βήμα 3: κρατήστε τους ανιχνευτές ακίνδυνους και φθηνούς

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

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

Βήμα 4: σπάστε κάθε επίπεδο και δείτε τον σωστό ανιχνευτή να κοκκινίζει

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

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

Βήμα 5: τοποθετήστε το εγχειρίδιο εκεί που δείχνει η ειδοποίηση

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

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

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

Σχετικά άρθρα