Πώς κάνουμε την υποδομή της Roblox πιο αποτελεσματική και ανθεκτική - Roblox Blog

Πώς κάνουμε την υποδομή της Roblox πιο αποτελεσματική και ανθεκτική – Roblox Blog

Κόμβος πηγής: 2998456

Καθώς το Roblox έχει αναπτυχθεί τα τελευταία 16+ χρόνια, τόσο έχει αυξηθεί η κλίμακα και η πολυπλοκότητα της τεχνικής υποδομής που υποστηρίζει εκατομμύρια συναρπαστικές 3D συνεμπειρίες. Ο αριθμός των μηχανημάτων που υποστηρίζουμε έχει υπερτριπλασιαστεί τα τελευταία δύο χρόνια, από περίπου 36,000 στις 30 Ιουνίου 2021 σε σχεδόν 145,000 σήμερα. Η υποστήριξη αυτών των πάντα ενεργών εμπειριών για ανθρώπους σε όλο τον κόσμο απαιτεί περισσότερες από 1,000 εσωτερικές υπηρεσίες. Για να μας βοηθήσουμε να ελέγξουμε το κόστος και τον λανθάνοντα χρόνο δικτύου, αναπτύσσουμε και διαχειριζόμαστε αυτά τα μηχανήματα ως μέρος μιας προσαρμοσμένης και υβριδικής ιδιωτικής υποδομής cloud που λειτουργεί κυρίως σε εγκαταστάσεις.  

Η υποδομή μας υποστηρίζει αυτήν τη στιγμή περισσότερους από 70 εκατομμύρια ενεργούς χρήστες καθημερινά σε όλο τον κόσμο, συμπεριλαμβανομένων των δημιουργών που βασίζονται στο Roblox's οικονομία για τις επιχειρήσεις τους. Όλα αυτά τα εκατομμύρια των ανθρώπων αναμένουν πολύ υψηλό επίπεδο αξιοπιστίας. Δεδομένης της καθηλωτικής φύσης των εμπειριών μας, υπάρχει εξαιρετικά χαμηλή ανοχή για καθυστερήσεις ή καθυστερήσεις, πόσο μάλλον διακοπές. Το Roblox είναι μια πλατφόρμα επικοινωνίας και σύνδεσης, όπου οι άνθρωποι έρχονται μαζί σε συναρπαστικές τρισδιάστατες εμπειρίες. Όταν οι άνθρωποι επικοινωνούν ως τα avatar τους σε έναν καθηλωτικό χώρο, ακόμη και μικρές καθυστερήσεις ή δυσλειτουργίες είναι πιο αισθητές από ό,τι σε ένα νήμα κειμένου ή μια κλήση συνδιάσκεψης.

Τον Οκτώβριο του 2021, αντιμετωπίσαμε μια διακοπή λειτουργίας σε όλο το σύστημα. Ξεκίνησε μικρό, με πρόβλημα σε ένα στοιχείο σε ένα κέντρο δεδομένων. Αλλά εξαπλώθηκε γρήγορα καθώς ερευνούσαμε και τελικά κατέληξε σε διακοπή 73 ωρών. Τότε, μοιραζόμασταν και τα δύο λεπτομέρειες για το τι συνέβη και μερικά από τα πρώτα μας διδάγματα από το θέμα. Από τότε, μελετάμε αυτές τις γνώσεις και εργαζόμαστε για να αυξήσουμε την ανθεκτικότητα της υποδομής μας στους τύπους αστοχιών που συμβαίνουν σε όλα τα συστήματα μεγάλης κλίμακας λόγω παραγόντων όπως ακραίες αιχμές κυκλοφορίας, καιρικές συνθήκες, αστοχία υλικού, σφάλματα λογισμικού ή απλώς οι άνθρωποι κάνουν λάθη. Όταν συμβαίνουν αυτές οι αστοχίες, πώς διασφαλίζουμε ότι ένα ζήτημα σε ένα μόνο στοιχείο ή ομάδα στοιχείων δεν εξαπλώνεται σε ολόκληρο το σύστημα; Αυτό το ερώτημα ήταν το επίκεντρό μας τα τελευταία δύο χρόνια και ενώ το έργο είναι σε εξέλιξη, ό,τι έχουμε κάνει μέχρι τώρα αποδίδει ήδη καρπούς. Για παράδειγμα, το πρώτο εξάμηνο του 2023, εξοικονομήσαμε 125 εκατομμύρια ώρες αφοσίωσης ανά μήνα σε σύγκριση με το πρώτο εξάμηνο του 2022. Σήμερα, μοιραζόμαστε τη δουλειά που έχουμε ήδη κάνει, καθώς και το πιο μακροπρόθεσμο όραμά μας για την οικοδόμηση ένα πιο ανθεκτικό σύστημα υποδομής.

Χτίζοντας ένα Backstop

Στα συστήματα υποδομής μεγάλης κλίμακας, αστοχίες μικρής κλίμακας συμβαίνουν πολλές φορές την ημέρα. Εάν ένα μηχάνημα έχει πρόβλημα και πρέπει να τεθεί εκτός λειτουργίας, αυτό είναι διαχειρίσιμο επειδή οι περισσότερες εταιρείες διατηρούν πολλαπλές παρουσίες των υπηρεσιών back-end τους. Έτσι, όταν ένα μεμονωμένο παράδειγμα αποτυγχάνει, άλλοι αναλαμβάνουν τον φόρτο εργασίας. Για να αντιμετωπιστούν αυτές οι συχνές αποτυχίες, τα αιτήματα γενικά ρυθμίζονται να επαναλαμβάνουν αυτόματα εάν εμφανιστούν σφάλμα.

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

Τη στιγμή της διακοπής λειτουργίας, είχαμε ένα ενεργό κέντρο δεδομένων (με εξαρτήματα μέσα σε αυτό να λειτουργούν ως εφεδρικό). Χρειαζόμασταν τη δυνατότητα να αποτυγχάνουμε με μη αυτόματο τρόπο σε ένα νέο κέντρο δεδομένων όταν ένα πρόβλημα έφερνε εκτός λειτουργίας το υπάρχον. Η πρώτη μας προτεραιότητα ήταν να διασφαλίσουμε ότι είχαμε ανάπτυξη αντιγράφων ασφαλείας του Roblox, έτσι δημιουργήσαμε αυτό το αντίγραφο ασφαλείας σε ένα νέο κέντρο δεδομένων, που βρίσκεται σε διαφορετική γεωγραφική περιοχή. Αυτή η πρόσθετη προστασία για το χειρότερο σενάριο: μια διακοπή που εξαπλώνεται σε αρκετά εξαρτήματα μέσα σε ένα κέντρο δεδομένων που καθίσταται εντελώς ανενεργό. Τώρα έχουμε ένα κέντρο δεδομένων που χειρίζεται φόρτους εργασίας (ενεργό) και ένα σε αναμονή, που λειτουργεί ως εφεδρικό (παθητικό). Ο μακροπρόθεσμος στόχος μας είναι να περάσουμε από αυτήν την ενεργητική-παθητική διαμόρφωση σε μια ενεργητική-ενεργητική διαμόρφωση, στην οποία και τα δύο κέντρα δεδομένων χειρίζονται φόρτους εργασίας, με έναν εξισορροπητή φορτίου που κατανέμει τα αιτήματα μεταξύ τους με βάση την καθυστέρηση, τη χωρητικότητα και την υγεία. Μόλις εφαρμοστεί αυτό, αναμένουμε να έχουμε ακόμη υψηλότερη αξιοπιστία για όλο το Roblox και να μπορούμε να αποτυγχάνουμε σχεδόν στιγμιαία αντί για αρκετές ώρες.

Μετακίνηση σε Κυψελοειδή Υποδομή

Η επόμενη προτεραιότητά μας ήταν να δημιουργήσουμε ισχυρούς τοίχους έκρηξης μέσα σε κάθε κέντρο δεδομένων για να μειώσουμε την πιθανότητα βλάβης ενός ολόκληρου κέντρου δεδομένων. Τα κύτταρα (ορισμένες εταιρείες τα αποκαλούν συστάδες) είναι ουσιαστικά ένα σύνολο μηχανών και είναι ο τρόπος με τον οποίο δημιουργούμε αυτούς τους τοίχους. Αναπαράγουμε υπηρεσίες τόσο εντός όσο και μεταξύ των κελιών για επιπλέον πλεονασμό. Τελικά, θέλουμε όλες οι υπηρεσίες στο Roblox να εκτελούνται σε κυψέλες, ώστε να μπορούν να επωφεληθούν τόσο από ισχυρούς τοίχους έκρηξης όσο και από πλεονασμό. Εάν μια κυψέλη δεν είναι πλέον λειτουργική, μπορεί να απενεργοποιηθεί με ασφάλεια. Η αναπαραγωγή σε κελιά επιτρέπει στην υπηρεσία να συνεχίσει να εκτελείται όσο επισκευάζεται το κελί. Σε ορισμένες περιπτώσεις, η επισκευή κυττάρων μπορεί να σημαίνει πλήρη ανανέωση του κυττάρου. Σε ολόκληρο τον κλάδο, το σκούπισμα και η αναπροσαρμογή ενός μεμονωμένου μηχανήματος, ή ενός μικρού συνόλου μηχανών, είναι αρκετά συνηθισμένο, αλλά αυτό για ένα ολόκληρο κελί, το οποίο περιέχει ~1,400 μηχανές, δεν είναι. 

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

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

  • Είναι πολύ πιο εύκολο να περιορίσετε μια αστοχία και να την αποτρέψετε από το να εξαπλωθεί σε άλλα κύτταρα. 
  • Οι μηχανικοί υποδομής μας μπορούν να είναι πιο αποτελεσματικοί και να κινούνται πιο γρήγορα. και 
  • Οι μηχανικοί που δημιουργούν τις υπηρεσίες σε επίπεδο προϊόντος που τελικά αναπτύσσονται σε κελιά δεν χρειάζεται να γνωρίζουν ή να ανησυχούν για τα κελιά στα οποία εκτελούνται οι υπηρεσίες τους.

Επίλυση Μεγαλύτερων Προκλήσεων

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

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

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

Στην κορύφωση, περισσότερο από το 70 τοις εκατό της επισκεψιμότητας υπηρεσιών back-end εξυπηρετείται εκτός κελιών και έχουμε μάθει πολλά για το πώς να δημιουργήσουμε κελιά, αλλά αναμένουμε περισσότερη έρευνα και δοκιμές καθώς συνεχίζουμε τη μετεγκατάσταση των υπηρεσιών μας έως το 2024 και πέρα. Καθώς προχωράμε, αυτοί οι τοίχοι θα γίνονται όλο και πιο ισχυροί.

Μετανάστευση μιας υποδομής που λειτουργεί πάντα

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

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

Ένα μέρος της ομάδας μηχανικής υποδομής μας επικεντρώνεται στη μετεγκατάσταση υπαρχόντων φόρτων εργασίας από το παλαιού τύπου περιβάλλον μας ή το περιβάλλον "προ-κελιάς" σε κελιά. Αυτή η εργασία θα συνεχιστεί έως ότου μεταφέρουμε χιλιάδες διαφορετικές υπηρεσίες υποδομής και χιλιάδες υπηρεσίες back-end σε νέα κελιά. Αναμένουμε ότι αυτό θα διαρκέσει όλο το επόμενο έτος και πιθανώς μέχρι το 2025, λόγω ορισμένων περιπλοκών παραγόντων. Πρώτον, αυτό το έργο απαιτεί στιβαρά εργαλεία για να κατασκευαστεί. Για παράδειγμα, χρειαζόμαστε εργαλεία για την αυτόματη εξισορρόπηση μεγάλου αριθμού υπηρεσιών κατά την ανάπτυξη μιας νέας κυψέλης, χωρίς να επηρεάζονται οι χρήστες μας. Έχουμε δει επίσης υπηρεσίες που κατασκευάστηκαν με υποθέσεις σχετικά με την υποδομή μας. Πρέπει να αναθεωρήσουμε αυτές τις υπηρεσίες, ώστε να μην εξαρτώνται από πράγματα που θα μπορούσαν να αλλάξουν στο μέλλον καθώς μεταβαίνουμε σε κελιά. Έχουμε επίσης εφαρμόσει τόσο έναν τρόπο αναζήτησης γνωστών μοτίβων σχεδίασης που δεν θα λειτουργούν καλά με την αρχιτεκτονική κινητής τηλεφωνίας, όσο και μια διαδικασία μεθοδικής δοκιμής για κάθε υπηρεσία που έχει μετεγκατασταθεί. Αυτές οι διαδικασίες μας βοηθούν να αντιμετωπίσουμε τυχόν προβλήματα που αντιμετωπίζουν οι χρήστες που προκαλούνται από τη μη συμβατότητα μιας υπηρεσίας με κελιά.

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

Προστασία του μέλλοντος καθώς κλιμακώνουμε

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

Συνοπτικά, μέχρι σήμερα έχουμε: 

  • Κατασκευάστηκε ένα δεύτερο κέντρο δεδομένων και επιτεύχθηκε επιτυχώς ενεργή/παθητική κατάσταση. 
  • Δημιούργησε κελιά στα ενεργά και παθητικά κέντρα δεδομένων μας και μετέφερε με επιτυχία περισσότερο από το 70 τοις εκατό της επισκεψιμότητας των υπηρεσιών back-end μας σε αυτά τα κελιά.
  • Θέστε σε εφαρμογή τις απαιτήσεις και τις βέλτιστες πρακτικές που θα πρέπει να ακολουθήσουμε για να διατηρήσουμε όλα τα κελιά ομοιόμορφα καθώς συνεχίζουμε τη μετεγκατάσταση της υπόλοιπης υποδομής μας. 
  • Ξεκίνησε μια συνεχή διαδικασία οικοδόμησης ισχυρότερων «τοίχων έκρηξης» μεταξύ των κυττάρων. 

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

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

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

Σφραγίδα ώρας:

Περισσότερα από Roblox