Σε αυτό το άρθρο θέλω να δείξω πόσο εύκολο και δωρεάν μπορείτε να δημιουργήσετε ένα πρόγραμμα ανακατεύθυνσης για έναν ιστότοπο (ή οποιαδήποτε άλλη υπηρεσία Διαδικτύου) χρησιμοποιώντας έναν συνδυασμό παρακολούθησης
Να ζεις με failover ή χωρίς;
Μέχρι να συμβεί κάποιο πρόβλημα, δεν υπάρχει μεγάλη διαφορά. Αλλά όταν συμβαίνει, χωρίς αποτυχία, συχνά συμβαίνει το εξής: προσπαθείτε να καταλάβετε γρήγορα ποιο είναι το πρόβλημα, δεν λειτουργεί (τα αντίγραφα ασφαλείας δεν αναπτύσσονται, το λογισμικό για κάποιο λόγο δεν λειτουργεί όπως θα έπρεπε από την τεκμηρίωση , κ.λπ.), αλλά δεν υπάρχει χρόνος, δεν υπάρχει διακομιστής - οι ιστότοποι είναι ξαπλωμένοι, οι πελάτες καλούν, όλοι είναι στην άκρη, προσπαθείτε να το διορθώσετε με κάποιο τρόπο χονδροειδώς και βρώμικο "με ταινία", μετά με κάποιο τρόπο φαίνεται να ξεκινά με πατερίτσες και ζωές. Νομίζεις ότι στον ελεύθερο χρόνο σου θα χρειαστεί να το καταλάβεις με περισσότερες λεπτομέρειες και να τα ξανακάνεις όλα όμορφα, αλλά δεν υπάρχει τίποτα πιο μόνιμο από το προσωρινό.
Τώρα, πώς συμβαίνει αυτό σε μια όμορφη έκδοση με αρχείο αρχείου:
- Γίνεται ένα λάθος
- Το σφάλμα εντοπίζεται αυτόματα
- Η ειδοποίηση αποστέλλεται
- Μεταφέρεται η εναλλαγή σε έναν από τους εφεδρικούς διακομιστές
- Ήρεμα και χωρίς πανικό, το πρόβλημα επιλύεται, διορθώνεται και ο διακομιστής τίθεται ξανά σε λειτουργία.
Αυτό το σχήμα, φυσικά, μπορεί επίσης να έχει τα δικά του προβλήματα, αλλά παρόλα αυτά, το σχήμα είναι γραμμικό, κάθε στάδιο είναι απλό και το κύριο πράγμα είναι ότι μπορεί να εντοπιστεί σφάλματα ξεχωριστά, επομένως η πιθανότητα αποτυχίας αυτού του σχήματος είναι πολύ μικρότερη και όλες οι ενέργειες μπορούν να αυτοματοποιηθούν και να εκτελεστούν γρήγορα (σε αντίθεση με την εργασία εύρεσης και διόρθωσης άγνωστων επικών βλαβών). Το αεροπλάνο σας προσγειώθηκε σε μια μακρινή χώρα, ανοίγετε το τηλέφωνό σας και βλέπετε μια ειδοποίηση σε ένα τηλεγράφημα ότι ο διακομιστής έχει συντριβεί, αλλά όλα είναι καλά, ο εφεδρικός διακομιστής έχει ενεργοποιηθεί, μπορείτε να συνεχίσετε το ταξίδι σας, δεν χρειάζεστε να πετάξετε πίσω ή να το επισκευάσετε μέσω SSH από το πλησιέστερο καφέ με WiFi. Θα το καταλάβεις όταν είναι πιο βολικό.
Το μέλλον είναι ήδη εδώ!
Προηγουμένως, το κύριο πρόβλημα που έκανε το failover συχνά απαράδεκτη λύση ήταν το κόστος που κοστίζει. Ή ήταν απαραίτητο να αγοράσετε ακριβό υλικό (και να προσκαλέσετε ακόμα πιο ακριβούς ειδικούς). Ή συλλογικό αγρόκτημα κάτι περίπλοκο σύμφωνα με τους οδηγούς (συναντήθηκα ακόμη και σε μια επιλογή όπου δύο διακομιστές συνδέονται επιπλέον με ένα καλώδιο μηδενικού μόντεμ και στέλνουν έναν καρδιακό παλμό μέσω αυτού, ώστε την κατάλληλη στιγμή ο εφεδρικός διακομιστής να το αναγνωρίσει και να το αναλάβει έλεγχος). Τώρα υπάρχουν ευκολότεροι και δωρεάν τρόποι. Εάν έχετε έναν ιστότοπο με γάτες, δεν υπάρχει καμία δικαιολογία για να μην εφαρμόσετε ακόμα το failover για αυτό!
Λοιπόν, εκτός αυτού, για ένα σύστημα ανακατεύθυνσης χρειάζεστε έναν άλλο διακομιστή (και ίσως περισσότερους από έναν) και πριν αυτό ήταν ένα μεγάλο κόστος, τώρα μπορείτε να πάρετε ένα VDS για πένες.
Το πιο αξιόπιστο site με γάτες
Για να δείξουμε πρακτικά τη λύση με το okerr + δυναμικό dns, ξεκινήσαμε την ιστοσελίδα μας με γάτες
Στις τεχνικές πληροφορίες υπάρχει η γραμμή “status=OK”. Μερικές φορές οι διακομιστές προσποιούνται προβλήματα και γράφουν status=ERR. Ο κύριος διακομιστής "φαίνεται να κολλάει" σε 20 λεπτά κάθε ώρα (0:20, 1:20, 2:20, ...). Εφεδρικός διακομιστής σε 40 λεπτά. Ο τελευταίος διακομιστής (διακομιστής "συγγνώμη") λειτουργεί πάντα. Σε 0 λεπτά κάθε ώρα, ο κύριος και ο εφεδρικός διακομιστής "αποκαθίστανται".
Αν ανοίξετε τον ιστότοπο και τον αφήσετε στην καρτέλα, θα δείτε ότι δεν κολλάει ποτέ (αν και κάθε μεμονωμένος διακομιστής προσομοιώνει περιοδικά ένα πρόβλημα) και σε περίπτωση προβλήματος με τον διακομιστή, απλώς «τρέχει» μεταξύ ζωντανών διακομιστών. Η εικόνα, το όνομα και η διεύθυνση του διακομιστή και ο ρόλος του θα αλλάξουν. Μερικές φορές μπορείτε να συλλάβετε τη στιγμή που το status = ERR (το πρόβλημα υπάρχει ήδη, αλλά ολόκληρο το σχέδιο ανακατεύθυνσης δεν έχει λειτουργήσει ακόμη), αλλά η επόμενη ενημέρωση θα σας εμφανίσει μια σελίδα από την τοποθεσία εργασίας.
Failover σε okerr + δυναμικό DNS
Ας δούμε πώς λειτουργεί κάτω από την κουκούλα. Η αποστολή του αρχείου είναι να διασφαλίζει ότι η διεύθυνση cat.okerr.com δείχνει πάντα τη διεύθυνση IP του διακομιστή που λειτουργεί.
Πίσω από κάθε διακομιστή που φιλοξενεί τον ιστότοπό μας για cat στο okerr υπάρχει μια ένδειξη που ελέγχει την κατάστασή του μία φορά το λεπτό.
Σε αυτό το στιγμιότυπο οθόνης βλέπουμε πώς ελέγχεται ο ιστότοπος cat.okerr.com από τον διακομιστή alpha.okerr.com. Η σελίδα πρέπει να περιέχει status=OK, και όπως βλέπουμε παραπάνω, η κατάσταση του δείκτη μας είναι εντάξει τώρα. Όταν ο διακομιστής «σπάσει», θα υπάρξει ERR. (Αυτό είναι μόνο ένα παράδειγμα δείκτη, το okerr παρακολουθεί, ώστε να μπορείτε να επισυνάψετε οποιονδήποτε τύπο δείκτη, για παράδειγμα, να ελέγξετε τον ελεύθερο χώρο στο δίσκο, τον αριθμό των νέων παραγγελιών στη βάση δεδομένων, ακόμη και λογικούς δείκτες, για παράδειγμα , τη νύχτα θα υπάρχουν κάποια κριτήρια σφάλματος και την ημέρα άλλα) .
Στις ρυθμίσεις του έργου δημιουργήσαμε ένα σχήμα ανακατεύθυνσης με αυτούς τους δείκτες:
Το σχήμα έχει τρεις δείκτες (τρεις διακομιστές), διαφορετικούς σε προτεραιότητα. Ο κύριος διακομιστής για τον ιστότοπο είναι ο charlie, αν δεν λειτουργεί (δεν θα έχει "status=OK" ή απλά δεν είναι διαθέσιμος), τότε μπράβο και στην τελευταία περίπτωση - άλφα. Η δεξιά πλευρά της σελίδας δείχνει την κατάσταση της εγγραφής DNS σε διαφορετικούς διακομιστές.
Για όσους παρατήρησαν ότι χρησιμοποιείται το όνομα cat.he.okerr.com: Χρησιμοποιούμε ένα ελαφρώς πιο περίπλοκο σχήμα. Αντί απλώς να αλλάξουμε την εγγραφή DNS του cat.okerr.com, αλλάζουμε το cat.he.okerr.com (στον πάροχο Dynamic DNS
Από την πτώση στην άνοδο
Βήμα προς βήμα πώς λειτουργεί αυτό το σχήμα:
- Παρουσιάζεται πρόβλημα (προσομοίωση) στον διακομιστή
- Ο αισθητήρας okerr ελέγχει την κατάσταση κάθε διακομιστή μία φορά το λεπτό και αναφέρεται στον κύριο διακομιστή έργου στο okerr
- Η αντίστοιχη ένδειξη διακομιστή αλλάζει από OK σε ERR
- Όταν αλλάξει η κατάσταση της ένδειξης, υπολογίζεται εκ νέου το failover και υπολογίζεται ποια διεύθυνση πρέπει να οριστεί (εάν είναι απαραίτητο. Για παράδειγμα, εάν ο κύριος διακομιστής λειτουργεί και ταυτόχρονα ο διακομιστής αντιγράφων ασφαλείας πέθανε, δεν θα γίνουν αλλαγές έκανε)
- Αυτή η διεύθυνση αναφέρεται στην υπηρεσία δυναμικού dns. Με την ολοκλήρωση αυτού του σταδίου, θα δείτε την κατάσταση "συγχρονισμένο" στα δεξιά.
- Πολύ σύντομα (δευτερόλεπτα) η εγγραφή θα φτάσει στους διακομιστές DNS του domain σας (για το cat site είναι ns1-ns5.he.net).
- Από αυτή τη στιγμή, ορισμένοι χρήστες θα βρίσκονται ήδη στον νέο ζωντανό διακομιστή. Ωστόσο, δεν έχουν ενημερώσει ακόμη τις εγγραφές όλοι οι διακομιστές DNS στον κόσμο και η παλιά εγγραφή μπορεί να είναι κάπου προσωρινά αποθηκευμένη. Μπορείτε να δείτε πώς «χορεύουν» τα δεδομένα σε δημόσιους διακομιστές DNS, δείχνοντας είτε μια νέα είτε μια παλιά τιμή. Εάν ενημερώσετε τη σελίδα διαμόρφωσης ανακατεύθυνσης, ο ίδιος ο χειριστής θα ζητήσει νέα δεδομένα από τους διακομιστές DNS.
- Αφού σταθεροποιηθούν τα δεδομένα, η παλιά εγγραφή στην κρυφή μνήμη είναι σάπια παντού - και το 100% των αιτημάτων πηγαίνει στον νέο διακομιστή.
Για να επιταχυνθεί το στάδιο 7 (συχνά το μεγαλύτερο), το TTL της δυναμικής εγγραφής DNS θα πρέπει να ρυθμιστεί όσο το δυνατόν χαμηλότερα. Συνήθως οι υπηρεσίες επιτρέπουν διαστήματα 90-120 δευτερολέπτων. Αυτός είναι ένας απολύτως λογικός συμβιβασμός.
επιπλέον
Όλα αυτά μπορούν να ρυθμιστούν σε ένα βράδυ (αν έχετε ήδη έναν εφεδρικό διακομιστή). Τόσο οι υπηρεσίες okerr όσο και οι δυναμικές υπηρεσίες DNS είναι δωρεάν. Για να λάβετε περισσότερους ελέγχους στο okerr και μια μικρότερη περίοδο επαλήθευσης, πρέπει να ολοκληρώσετε την εκπαίδευση (από τη σελίδα του προφίλ σας). Με την ολοκλήρωση, το επίπεδο αυξάνεται αμέσως (20 δείκτες ανά ώρα + 1 γρήγορο, 10 λεπτά). Και αν είναι λίγοι, γράψτε στο [προστασία μέσω email], πιθανότατα θα είναι δυνατό να αυξηθεί (μέχρι στιγμής υπήρχε πάντα μια ευκαιρία, δεν έχω αρνηθεί ποτέ, αντίθετα, την πρόσφερα μόνος μου). Απλώς, αρχικά δεν θέλω να υποσχεθώ σε όλους τα πάντα, δεν είμαι σίγουρος ότι έχω αρκετή ικανότητα να κρατήσω τον λόγο μου. Αλλά μέχρι στιγμής υπάρχουν λίγοι χρήστες, επομένως δεν υπάρχουν προβλήματα με την αύξηση των ορίων.
Τι μπορεί να κάνει το okerr γενικά - κοιτάξτε τον ιστότοπο
Όταν αλλάξει η κατάσταση της ένδειξης, αποστέλλεται ειδοποίηση μέσω email ή Telegram. (Κοιτάξαμε τι συνέβαινε και συνειδητοποιήσαμε ότι το τηλεγράφημα φαίνεται να είναι ο πιο αξιόπιστος αγγελιοφόρος. Χάρη στο RKN για το stress test!) Με το okerr να έχει ρυθμιστεί σωστά, οποιαδήποτε ειδοποίηση είναι είτε ένα μήνυμα "πέστε τα πάντα, πρέπει να το διορθώσουμε!" , ή "σβήνουν τα φώτα!" Δεν θα πρέπει να υπάρχουν επιπλέον ειδοποιήσεις από το okerra (εάν υπάρχουν, πρέπει να ρυθμιστούν με κάποιο τρόπο). Για παράδειγμα, για τον ιστότοπό μας cat, ο διακομιστής άλφα είναι ο τελευταίος και δεν πλαστογραφεί ποτέ ένα σφάλμα. Αν ξαπλώσει, πρέπει να το μάθουμε. Αλλά άλλοι διακομιστές προσποιούνται συνεχώς σφάλματα, επομένως, για να μην λαμβάνουν ειδοποιήσεις πολλές φορές την ώρα, αυτοί οι δείκτες έχουν μια κατάσταση "σιωπηλής".
Είναι επίσης λογικό να δημιουργήσετε έναν διακομιστή συγγνώμης (σε οποιαδήποτε φθηνότερη φιλοξενία), ο οποίος είτε θα έχει τη σελίδα συγγνώμης (σε περίπτωση που όλοι οι κύριοι και οι εφεδρικοί διακομιστές είναι εκτός λειτουργίας) είτε θα σας ανακατευθύνει στη σελίδα κατάστασης στο okerr (για παράδειγμα, τη δική μας
Πηγή: www.habr.com