Αν έρθουν 1000 ταυτόχρονες αιτήσεις, θα δημιουργηθούν 1000 νήματα του λειτουργικού συστήματος; Τι θα συμβεί με την υπηρεσία σε αυτή την περίπτωση;
Golang
Υπάρχει μια όψη που συγκεντρώνει δεδομένα από 10 υπηρεσίες, κάθε μία απαντά σε 100 ms, συνολικά περίπου ένα δευτερόλεπτο. Πώς θα έλυσες αυτό το πρόβλημα ώστε το σημείο πρόσβασης να επιστρέφει τα δεδομένα πιο γρήγορα;
Θα συνέχιζες να πηγαίνεις στις υπόλοιπες υπηρεσίες για τα δεδομένα αν η πρώτη από τις 11 υπηρεσίες επέστρεφε σφάλμα;
Ή το Redis ήταν σε ένα μόνο κέντρο δεδομένων, και όλοι απευθύνονταν σε αυτό;
Με ποια αρχή επιλέξατε την αρχιτεκτονική και τα όρια των υπηρεσιών;
Πώς να λύσουμε το πρόβλημα του data race που συζητήσαμε;
Υπήρχε Redis και στους τρεις data centers;
Ποια μπορεί να είναι τα παρενέργειες κατά τη χρήση goroutines για την επεξεργασία αρχείου, σε τι πρέπει να είμαστε έτοιμοι;
Είχατε τρία κέντρα δεδομένων — πώς οργανώθηκε το σχήμα αναπαραγωγής/εφεδρείας μεταξύ τους;
Οι κέντρα δεδομένων ήταν πλήρεις αντίγραφα το ένα του άλλου ή συμπληρώνονταν; Απλώς δρομολογούσατε την κυκλοφορία μεταξύ τους;
Σε ποιο πεδίο μπλοκαρίσματος αναφέρεσαι (διευκρίνιση σχετικά με την denormalization, σημαία is_blocked);
Και αν οι goroutines γράφουν στην ίδια γραμμή/buffer, είναι πιθανό αυτό το πρόβλημα;
Πώς μπορούν οι goroutines να «διαρρεύσουν» (leak);
Το γεγονός φτάνει στο πρώτο κέντρο δεδομένων από το Kafka, το πιάνουμε και το αποθηκεύουμε στο Redis. Πώς αυτά τα δεδομένα έφτασαν σε όλα τα τρία κέντρα δεδομένων;
Έχεις γράψει στο βιογραφικό σου ότι βελτιστοποίησες ερωτήματα SQL. Πώς πιστεύεις ότι θα ήταν το σχέδιο εκτέλεσης για ένα ερώτημα επιλογής μη αποκλεισμένων πωλητών (EXPLAIN);
Το βιογραφικό σας αναφέρει 50-80 χιλιάδες RPS. Τι είδους υπηρεσία ήταν και τι έκανε;
Υπάρχουν άλλοι τρόποι, εκτός από τα κανάλια, για την οργάνωση της εργασίας με goroutines;
Μπορείς να μιλήσεις για τον αλγόριθμο ελέγχου (επικύρωση δεδομένων); Συμμετείχες σε αυτό; Πώς έγινε;
Μιλήσατε για το μοντέλο ανάγνωσης με Redis. Το Redis αναπαραγόταν μεταξύ των κέντρων δεδομένων;
Πώς θα έπαιρνες με μια ερώτηση τη λίστα των μη αποκλεισμένων πωλητών, έχοντας έναν πίνακα με όλους τους πωλητές και έναν άλλο μόνο με τους αποκλεισμένους;