nikolaos_ Δημοσ. 26 Οκτωβρίου 2017 Δημοσ. 26 Οκτωβρίου 2017 Έστω ότι έχουμε την ακόλουθη δομή για έναν ιστότοπο: Τρεις διαφορετικές μηχανές με MySQL, όπου η μία είναι η "master" και οι άλλες δύο "slave". Το αφεντικό ενημερώνει μόνο την μία βάση δεδομένων στον "master" και οι δυο "slave" την αντιγράφουν με replication. Οι "slave" είναι αποκλειστικά read-only, όπου τα μισά web hosts διαβάζουν μόνο την μία και τα άλλα μισά μόνο την άλλη. Ποιοι είναι οι λιγότερο επίπονοι τρόποι για να κάνεις load balance των queries από τους web hosts και να μοιράζονται ανάμεσα στους δύο (ή ν αριθμό) "slaves" μίας "master"; Δηλαδή οι web hosts θα κάνουν μία και μόνο MySQL σύνδεση που θα δρομολογείται στον ένα ή στον άλλο MySQL slave.
παπι Δημοσ. 26 Οκτωβρίου 2017 Δημοσ. 26 Οκτωβρίου 2017 Mysql cluster λέγεται αυτό που λες. Offtopic, πριν μπεις στην διαδικασία του master slave, να σου πω ότι αυτή η τοπολογία δεν θα σου δώσε ταχύτητα, αλλά μεγαλύτερο load! Ταχύτητα θα πάρεις μόνο με pooling.
nikolaos_ Δημοσ. 18 Σεπτεμβρίου 2019 Μέλος Δημοσ. 18 Σεπτεμβρίου 2019 Δυο χρόνια μετά... τι μου θύμισες τώρα! Αφήνω εν είδει απάντησης το σχόλιό μου μετά από αυτό το διάστημα που άφησα να περάσει... Βασικά λοιπόν, ο σκοπός δεν ήταν τόσο η μεγαλύτερη ταχύτητα όσο το να μην επιβαρύνεται το ένα slave έναντι των άλλων, να υπάρχει δηλαδή μια ισοκατανομή. Τελικά δεν έγιναν ουσιαστικές αλλαγές, είναι καμιά εκατοστή hosts χωρισμένα σε 4 ομάδες και κάθε ομάδα απευθύνεται σε 1 και μόνο "ομαδικό" slave. Οπότε το master μοιράζει σε 4 slaves.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα