Μίνι-συνέντευξη με τον Oleg Anastasyev: ανοχή σφαλμάτων στο Apache Cassandra

Μίνι-συνέντευξη με τον Oleg Anastasyev: ανοχή σφαλμάτων στο Apache Cassandra

Η Odnoklassniki είναι ο μεγαλύτερος χρήστης του Apache Cassandra στο RuNet και ένας από τους μεγαλύτερους στον κόσμο. Ξεκινήσαμε να χρησιμοποιούμε την Cassandra το 2010 για να αποθηκεύουμε αξιολογήσεις φωτογραφιών και τώρα η Cassandra διαχειρίζεται petabytes δεδομένων σε χιλιάδες κόμβους, στην πραγματικότητα, αναπτύξαμε ακόμη και τους δικούς μας Βάση δεδομένων συναλλαγών NewSQL.
Στις 12 Σεπτεμβρίου στο γραφείο μας στην Αγία Πετρούπολη θα πραγματοποιήσουμε δεύτερη συνάντηση αφιερωμένη στον Απάτσι Κασσάνδρα. Κεντρικός ομιλητής της εκδήλωσης θα είναι ο αρχιμηχανικός της Odnoklassniki Oleg Anastasyev. Ο Oleg είναι ειδικός στον τομέα των κατανεμημένων και ανεκτικών συστημάτων σε σφάλματα· συνεργάζεται με την Cassandra για περισσότερα από 10 χρόνια και επανειλημμένα μίλησε για τα χαρακτηριστικά της χρήσης αυτού του προϊόντος σε συνέδρια.

Την παραμονή της συνάντησης, μιλήσαμε με τον Oleg για την ανοχή σφαλμάτων των κατανεμημένων συστημάτων με την Cassandra, ρωτήσαμε για τι θα μιλούσε στη συνάντηση και γιατί άξιζε να παρακολουθήσετε αυτήν την εκδήλωση.

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

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

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

Με ενδιέφερε και μου άρεσε πολύ.

- Κρίνοντας από την ανακοίνωση, δεύτερη συνάντηση θα αφιερωθεί εξ ολοκλήρου στην ανοχή σφαλμάτων, γιατί επιλέξατε αυτό το θέμα;

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

— Όσον αφορά την Κασσάνδρα, τι εννοείς ανοχή σφαλμάτων;

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

— Μπορείτε να δώσετε ένα παράδειγμα του πιο φορτωμένου και μεγαλύτερου συμπλέγματος δεδομένων;

Ένα από τα μεγαλύτερα cluster μας είναι το gift cluster: περισσότεροι από 200 κόμβοι και εκατοντάδες TB δεδομένων. Αλλά δεν είναι το πιο φορτωμένο, αφού καλύπτεται από μια κατανεμημένη κρυφή μνήμη. Τα πιο πολυσύχναστα cluster μας χειρίζονται δεκάδες χιλιάδες RPS για γραφή και χιλιάδες RPS για ανάγνωση.

- Ουάου! Πόσο συχνά σπάει κάτι;

ναι όλη την ώρα! Συνολικά, έχουμε περισσότερους από 6 χιλιάδες διακομιστές και κάθε εβδομάδα αντικαθίστανται μερικοί διακομιστές και αρκετές δεκάδες δίσκοι (χωρίς να λαμβάνονται υπόψη οι παράλληλες διαδικασίες αναβάθμισης και επέκτασης του στόλου μηχανών). Για κάθε τύπο αποτυχίας, υπάρχουν σαφείς οδηγίες για το τι πρέπει να κάνετε και με ποια σειρά, όλα αυτοματοποιούνται όποτε είναι δυνατόν, επομένως οι βλάβες είναι ρουτίνας και στο 99% των περιπτώσεων συμβαίνουν απαρατήρητες από τους χρήστες.

— Πώς αντιμετωπίζετε τέτοιες αρνήσεις;

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

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

Εάν μιλάμε για τις εγκαταστάσεις μας των συστάδων Cassandra, οι χρήστες δεν θα παρατηρήσουν τίποτα εάν χάσουμε πολλά μηχανήματα σε ένα DC ή σε ένα ολόκληρο DC (αυτό έχει συμβεί). Με την αύξηση του αριθμού των DC, σκεφτόμαστε να αρχίσουμε να διασφαλίζουμε τη λειτουργικότητα σε περίπτωση βλάβης δύο DC.

— Τι πιστεύετε ότι λείπει από την Κασσάνδρα όσον αφορά την ανοχή σφαλμάτων;

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

Oleg, ευχαριστώ πολύ για τον χρόνο που διαθέσατε για να απαντήσετε στις ερωτήσεις!

Περιμένουμε όλους όσους θέλουν να επικοινωνήσουν με ειδικούς στον τομέα λειτουργίας Apache Cassandra στο meetup στις 12 Σεπτεμβρίου στο γραφείο μας στην Αγία Πετρούπολη.

Ελάτε, θα έχει ενδιαφέρον!

Εγγραφείτε για την εκδήλωση.

Πηγή: www.habr.com

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