Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Έστω ότι έχουμε την ακόλουθη δομή για έναν ιστότοπο:

 

Τρεις διαφορετικές μηχανές με MySQL, όπου η μία είναι η "master" και οι άλλες δύο "slave". Το αφεντικό ενημερώνει μόνο την μία βάση δεδομένων στον "master" και οι δυο "slave" την αντιγράφουν με replication. Οι "slave" είναι αποκλειστικά read-only, όπου τα μισά web hosts διαβάζουν μόνο την μία και τα άλλα μισά μόνο την άλλη.

 

Ποιοι είναι οι λιγότερο επίπονοι τρόποι για να κάνεις load balance των queries από τους web hosts και να μοιράζονται ανάμεσα στους δύο (ή ν αριθμό) "slaves" μίας "master"; Δηλαδή οι web hosts θα κάνουν μία και μόνο MySQL σύνδεση που θα δρομολογείται στον ένα ή στον άλλο MySQL slave.

Δημοσ.

Mysql cluster λέγεται αυτό που λες.

 

Offtopic, πριν μπεις στην διαδικασία του master slave, να σου πω ότι αυτή η τοπολογία δεν θα σου δώσε ταχύτητα, αλλά μεγαλύτερο load! Ταχύτητα θα πάρεις μόνο με pooling.

  • 1 χρόνο αργότερα...
Δημοσ.

Δυο χρόνια μετά... τι μου θύμισες τώρα! Αφήνω εν είδει απάντησης το σχόλιό μου μετά από αυτό το διάστημα που άφησα να περάσει...

Βασικά λοιπόν, ο σκοπός δεν ήταν τόσο η μεγαλύτερη ταχύτητα όσο το να μην επιβαρύνεται το ένα slave έναντι των άλλων, να υπάρχει δηλαδή μια ισοκατανομή.

Τελικά δεν έγιναν ουσιαστικές αλλαγές, είναι καμιά εκατοστή hosts χωρισμένα σε 4 ομάδες και κάθε ομάδα απευθύνεται σε 1 και μόνο "ομαδικό" slave. Οπότε το master μοιράζει σε 4 slaves.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...