Τι είναι το Load Balancer
Οι Load Balancer κάθονται μπροστά από την εφαρμογή σας και διανέμουν την εισερχόμενη κίνηση σε πολλές περιπτώσεις της εφαρμογής σας. Για παράδειγμα, ας υποθέσουμε ότι έχετε έναν ιστότοπο ηλεκτρονικού εμπορίου. Παρατηρείτε ότι έχετε κερδίσει έλξη και προσελκύετε όλο και περισσότερους πελάτες στην εφαρμογή σας. Για να καλύψετε αυτήν την επισκεψιμότητα, μπορείτε να αναπτύξετε μια άλλη παρουσία του καταστήματος ηλεκτρονικού εμπορίου σας. Τώρα, προκειμένου οι χρήστες να κατευθύνονται μεταξύ αυτών των περιπτώσεων του καταστήματός σας, αναπτύσσετε έναν εξισορροπητή φορτίου μπροστά τους.
Το πρόγραμμα εξισορρόπησης φορτίου θα κατανείμει την κυκλοφορία μεταξύ των δύο περιπτώσεων της εφαρμογής σας. Αυτό σας επιτρέπει να κλιμακώσετε την εφαρμογή σας αναπτύσσοντας περισσότερες παρουσίες και τοποθετώντας τις πίσω από έναν εξισορροπητή φορτίου αυξάνετε την επισκεψιμότητα που μπορείτε να χειριστείτε. Αυτό βοηθά επίσης στη βελτίωση του χρόνου λειτουργίας σας - με μια συσκευή εξισορρόπησης φορτίου, εάν έχετε πολλές παρουσίες και μία από αυτές αποτύχει ή βγει εκτός σύνδεσης, η συσκευή εξισορρόπησης φορτίου θα εκτρέψει την κυκλοφορία στους κόμβους υγιούς λειτουργίας.
Ανάπτυξη ενός Load Balancer
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Αυτή είναι μια πλήρως διαχειριζόμενη υπηρεσία. Δεν χρειάζεται να ανησυχείτε για τη διατήρηση ή λειτουργία της υποδομής εξισορρόπησης φορτίου. Αυτό σας επιτρέπει να εστιάσετε στη δημιουργία των εφαρμογών σας και στην ανάπτυξη τους όπως σας ταιριάζει. Λάβετε υπόψη σας, ωστόσο, ότι θα σας ζητηθεί να βεβαιωθείτε ότι η εφαρμογή σας έχει ρυθμιστεί και ρυθμιστεί σωστά για να λειτουργεί με το load balancer.
Κανόνες προώθησης
Εδώ θα ορίσετε ποιες δημόσιες θύρες αντιστοιχίζονται σε ποιες εσωτερικές θύρες με πρωτόκολλο. Για παράδειγμα: εάν έχω μια εφαρμογή ruby on rails στην οποία θέλω να βάλω ένα load balancer και η εφαρμογή ακούει στη θύρα, 1234αλλά θέλω οι χρήστες να έχουν πρόσβαση στην εφαρμογή μου μέσω της θύρας 80, τότε θα όριζα την αντιστοίχιση ωςLoad Balancer http 80 -> Instance HTTP 1234
Εάν επιλέξατε το HTTPS ως πρωτόκολλό σας, θα σας ζητηθεί να ανεβάσετε το δικό σας πιστοποιητικό SSL. Σε μελλοντική έκδοση, θα προστεθεί η υποστήριξη Let's Encrypt.
Διαμόρφωση Load Balancer
Αλγόριθμοι
Υπάρχουν δύο διαθέσιμες επιλογές για τον αλγόριθμο:
-
Roundrobin - Επιλέγει διακομιστές με τη σειρά. Αυτός είναι ο προεπιλεγμένος αλγόριθμος.
-
Leastconn - Επιλέγει τον διακομιστή με τον λιγότερο αριθμό συνδέσεων - συνιστάται για μεγαλύτερες περιόδους σύνδεσης. Οι διακομιστές στο ίδιο back-end εναλλάσσονται επίσης με κυκλικό τρόπο.
Αυτοκόλλητες συνεδρίες
Χρησιμοποιούμε την ελεγχόμενη από την εφαρμογή επιμονή συνεδρίας για τις σταθερές συνεδρίες μας.
Η εφαρμογή σας δημιουργεί ένα cookie που καθορίζει τη διάρκεια της σταθερότητας της περιόδου λειτουργίας. Το πρόγραμμα εξισορρόπησης φορτίου εξακολουθεί να εκδίδει το δικό του cookie περιόδου λειτουργίας πάνω του, αλλά τώρα ακολουθεί τη διάρκεια ζωής του cookie εφαρμογής.
Αυτό καθιστά τις σταθερές περιόδους λειτουργίας πιο αποτελεσματικές, διασφαλίζοντας ότι οι χρήστες δεν οδηγούνται ποτέ σε διακομιστή αφού το τοπικό cookie περιόδου λειτουργίας τους έχει ήδη λήξει. Ωστόσο, είναι πιο περίπλοκο στην εφαρμογή του, επειδή απαιτεί πρόσθετη ενοποίηση μεταξύ του εξισορροπητή φορτίου και της εφαρμογής.
Θα σας ζητηθεί να προσθέσετε ένα όνομα cookie.
Επιγραφή
Αυτή είναι απλώς μια ετικέτα για τον εξισορροπητή φορτίου σας.
Επιβολή HTTP σε HTTPS
Αυτό θα αναγκάσει το HTTP να ανακατευθύνει στο HTTPS. Θα χρειαστείτε ένα έγκυρο πιστοποιητικό SSL και ρυθμισμένο HTTPS για να λειτουργεί σωστά.
Έλεγχοι υγείας
Αυτοί οι έλεγχοι υγείας θα επαληθεύσουν ότι οι συνημμένες εφαρμογές/παρουσίες σας είναι υγιείς και ότι μπορούν να δρομολογηθούν σωστά. Εάν μια από τις παρουσίες σας αποτύχει σε έλεγχο υγείας, τότε το πρόγραμμα εξισορρόπησης φορτίου θα μειώσει την κυκλοφορία σε αυτήν την περίπτωση.
Μετά την ανάπτυξη
Μόλις ολοκληρωθεί η ανάπτυξη, (ενδέχεται να χρειαστούν λίγα λεπτά), θα σας δοθεί μια διεύθυνση IPV4 και μια διεύθυνση IPV6 που είναι η δημόσια IP σας για τον εξισορροπητή φορτίου.
Τώρα θα μπορείτε επίσης να επισυνάψετε/αποσυνδέσετε την εφαρμογή/παρουσίες σας στο πρόγραμμα εξισορρόπησης φορτίου, μαζί με τυχόν αλλαγές διαμόρφωσης που θέλετε.
Μετρήσεις
Μόλις το πρόγραμμα εξισορρόπησης φορτίου λειτουργεί για λίγα λεπτά, θα συγκεντρωθούν μετρήσεις. Θα μπορείτε να προβάλλετε τις μετρήσεις σας από την καρτέλα μετρήσεων στον πίνακα ελέγχου του εξισορροπητή φορτίου.