OpenCart-Hellas 

Η Ελληνική κοινότητα υποστήριξης του Opencart

Υποστήριξη διαχείρισης διακομιστών & συζητήσεις για hosting.
Από antstyl
#197
Καλησπέρα,

ψάχνω τελευταία στο ιντερνετ πως θα μπορούσε να υλοποιηθεί το εξής:

Μια ιστοσελίδα να είναι ταυτόχρονα σε δύο διαφορετικούς servers και σε περίπτωση προβλήματος του πρώτου να εξυπηρετείται από τον δεύτερο server.
Αυτό σίγουρα θα μπορούσε γίνει με καθημερινό backup στον 2ο server και σε περίπτωση προβλήματος αλλαγή των DNS ώστε να δείχνουν στον 2ο.

Δεν νομίζω όμως ότι ενδείκνυται για σελίδες με συχνές τροποποιήσεις περιεχομένου και σίγουρα όχι για eshop που συνέχεια γίνονται αλλαγές και στα αρχεία και στην βάση (διότι του 2ου server τα αρχεία θα είναι σίγουρα παλαιότερα) και επίσης ο χρόνος αλλαγής των DNS μπορεί να διαρκέσει αρκετή ώρα από μόνος του.

Αρχικά μπορεί να είναι εφικτό?
Έχει υλοποιήσει κάποιος κάποια παρόμοια λογική?
Άβαταρ μέλους
Από Alexandra
#200
Καλησπέρα

Αν θες απλά να υπάρχει ένα εφεδρικό σύστημα πάντα διαθέσιμο σε περίπτωση που συμβεί κάτι στο live σύστημα σου, η πιο απλή και οικονομική μέθοδος είναι να διατηρείς backup images όλου του σκληρού ανά ημέρα / εβδομάδα / μήνα. Πολλές εταιρίες προσφέρουν υπηρεσίες backup με μικρό κόστος σε σχέση με το κόστος διατήρησης δεύτερου διακομιστή.

Η χρήση παράλληλων servers υλοποιείται περισσότερο με την λογική του load balancing (να διαμοιράζονται δηλαδή οι επισκέπτες στους διαθέσιμους servers) και δευτερευόντως με την λογική της εφεδρείας. Ευτυχώς υπάρχουν μέθοδοι που αυτοματοποιούν αυτήν τη διαδικασία και δεν χρειάζεται να κάνεις εσύ κάτι χειροκίνητα όπως ανέφερες. Η ακριβής μεθοδολογία βέβαια εξαρτάται από το λογισμικό που χρησιμοποιείς (λειτουργικό, web server, bάση δεδομένων, oι τεχνικές προδιαγραφές της εφαρμογής του site).

Η γενικότερη λογική υλοποίησης διακομιστών για load balancing είναι η εξής:

1. Πρέπει με κάποιον τρόπο να διαμοιράζονται οι επισκέπτες στους διαθέσιμους διακομιστές αλλά να διατηρείται η συνεδρία τους (session) για να μπορούν να παραμένουν συνδεδεμένοι. Άρα πρέπει να υπάρχει η δυνατότητα να δρομολογούνται οι επισκέπτες πάντα στον ίδιο διακομιστή με τον οποίον δρομολογήθηκαν αρχικά. Εμείς χρησιμοποιούμε nginx server όπου η δυνατότητα load balancing με διατήρηση των επισκεπτών στον ίδιο διακομιστή υποστηρίζεται και είναι σχετικά εύκολο να ρυθμιστεί.

2. Πρέπει να μπορούν να συγχρονίζονται οι βάσεις δεδομένων των δύο διακομιστών αμφίδρομα και σε πραγματικό χρόνο. Αυτή η διάταξη ονομάζεται master-master. Ευτυχώς γίνεται σχετικά απλά με ρυθμίσεις από τα αρχεία ρυθμίσεων της MySQL και δημιουργώντας εικονικούς χρήστες για τον αμφίδρομο συγχρονισμό. Με μία αναζήτηση για MySQL master-master θα βρεις πολλά άρθρα.

3. Πρέπει να μπορεί να γίνεται συγχρονισμός των αρχείων της εφαρμογής και των εικόνων, donwloads, κλπ μεταξύ των δύο διακομιστών. Σε αυτή τη περίπτωση μπορεί να δημιουργηθεί ένα script για backup που θα τρέχει αυτόματα με cron ή και χειροκίνητα από τον ένα διακομιστή στον άλλο και που θα συνδέεται στον άλλο διακομιστή μέσω ssh χωρίς κωδικό με χρήση κρυπτογραφημένων κλειδιών.
Και γι' αυτό υπάρχουν πολλά howtos.

Αρχικά μπορεί να είναι εφικτό?
Ναι είναι εφικτό αν έχεις κάποια τεχνογνωσία και άνεση στη διαχείριση διακομιστών.
Έχει υλοποιήσει κάποιος κάποια παρόμοια λογική?
Εμείς δεν το έχουμε κάνει ακόμα, γιατί κανένας πελάτης μας μέχρι στιγμής δεν έφτασε στο σημείο να χρειάζεται μόνιμα τόση επεξεργαστική ισχύ που να ξεπερνά αυτό που μπορεί να δώσει ένας δυνατός dedicated με nginx server και APC cache για να δικαιολογείται το κόστος των δύο διακομιστών για load balancing. Εδώ δυσκολευόμαστε να πείσουμε του πελάτες να πάρουν το δικό τους dedicated...
Σε πειραματικό επίπεδο δοκιμών πάντως είναι σχετικά εύκολο να γίνει. Αν ποτέ με το καλό το forum μας μεγαλώσει και χρειαστεί περισσότερη επεξεργαστική ισχύ σκοπεύω να μην ανέβω σε μηχάνημα αλλά να το χρησιμοποιήσω ως δοκιμαστική πλατφόρμα για load balancing. Αν αποφασίσεις να πειραματιστείς με nginx είμαι στη διάθεση σου.
Από antstyl
#233
Και εγώ οτι διάβασα είχε να κάνει με load balancing.
Δεν το είδα να χρησιμοποιείται απλά για ασφάλεια και σε περίπτωση πτώσης του ενός server.

Θα το ψάξω όμως παραπάνω με τα στοιχεία που μου έδωσες έστω και εγκυκλοπαιδικά.

Για τα καινούργια VPS που βγαίνουν σε υποδομές cloud έχεις κάποια άποψη?
Έχεις δοκιμάσει κάτι αντίστοιχο?
Άβαταρ μέλους
Από Alexandra
#234
Ναι, χρησιμοποιούμε cloud server hosting. Ότι θες μου λές.
Από antstyl
#235
Βασικά με ενδιαφέρει αν όντως είναι βελτιωμένοι σε hardware uptime και network uptime!

Αν και αυτό σίγουρα έχει να κάνει και με την εταιρία αλλά η όλη λογική λειτουργίας τους σίγουρα δεν προσφέρει καλύτερες επιδόσεις?
Άβαταρ μέλους
Από Alexandra
#236
Οι περισσότεροι πλέον προσφέρουν SSD και πάνω κάτω τις ίδιες επιλογές hardware. Επίσης η λογική της διαμοίρασης των πόρων του συστήματος δεν διαφέρει από τα τυπικά VPS (κι εδώ στοιβάζεται πολύς κόσμος στο ίδιο μηχάνημα), απλά εδώ έχεις την επιπλέον δυνατότητα ότι μπορείς να πάρεις το image του συστήματος σου, να το κοπιάρεις όσες φορές θέλεις και να αναπτύξεις (deploy) κλώνους στο ίδιο ή σε όποιο άλλο datacenter του κόσμου θες (απ' όσα υποστηρίζει ο provider σου).

Οι επιδόσεις είναι σαφώς καλύτερες από τυπικά VPS γιατί το στήνεις όλο μόνος σου από την αρχή και δεν έχεις λόγο να βάλεις control panels που επιβαρύνουν το σύστημα με διάφορα περιττά. Όμως αυτό από την άλλη προϋποθέτει και περισσότερη τεχνογνωσία.

Στα συμβάντα βρήκα κάτι, αλλά δεν ξέρω αν σχετίζε[…]

Νέο Facebook Group OpenCart Hellas

Αγαπητοί φίλοι και συνεργάτες, θα θέλαμε να σας εν[…]

Ναι , τώρα την εμφανίζει σωστά. Ναι, διέγραψε τις […]

Μακάρι να λύθηκε γιατί είναι όντως θέμα τα email κ[…]

Πριν ζητήσετε βοήθεια στο φόρουμ, παρακαλούμε ελέγξτε αν υπάρχει έτοιμη λύση στο OpenCart Extension Marketplace!