Αρχιτεκτονική Microservice - μάθημα 46.900 τρίψτε. από το IBS Training Center, εκπαίδευση 24 ώρες, Ημερομηνία 27 Νοεμβρίου 2023.
μικροαντικείμενα / / November 27, 2023
Η αρχιτεκτονική μικροϋπηρεσιών (MSA) έχει αποκτήσει σχετικά πρόσφατα φήμη ως η πιο δημοφιλής αρχιτεκτονική προσέγγιση. Η χρήση του παρέχει πολλά οφέλη σε διάφορα στάδια του κύκλου ζωής του προϊόντος. Συγκεκριμένα, το MCA επιτρέπει ταχύτερους χρόνους απόκρισης στις επιχειρηματικές απαιτήσεις, γεγονός που το καθιστά συχνά ανώτερο από άλλα αρχιτεκτονικά στυλ.
Ωστόσο, κατά τη διαδικασία ανάπτυξης συστημάτων MCA, ο αρχιτέκτονας αντιμετωπίζει πολλές προκλήσεις, πολλές από τις οποίες αναγκάζουν τους αρχάριους να κάνουν πίσω.
Τα σφάλματα αποσύνθεσης μπορεί να οδηγήσουν σε σοβαρή αύξηση της πολυπλοκότητας ανάπτυξης. Η απόδοση υποφέρει λόγω της ανυπέρβλητης καθυστέρησης δικτύου. Η κατανεμημένη αποθήκευση δεδομένων δεν επιτρέπει τη συνέπεια των συναλλαγών. Ένας μεγάλος αριθμός στοιχείων που αλληλεπιδρούν μέσω του δικτύου μειώνει την αξιοπιστία. Δύσκολο να εξασφαλιστεί η ασφάλεια. Επιπλέον, η δοκιμή και η συντήρηση ενός κατανεμημένου συστήματος απαιτεί ξεχωριστή συζήτηση.
Αυτό το μάθημα θα δείξει τα πλεονεκτήματα και τα μειονεκτήματα της χρήσης MCA. Θα σας βοηθήσει να πάρετε μια τεκμηριωμένη απόφαση σχετικά με τη δυνατότητα εφαρμογής του ISA ανάλογα με τις ανάγκες της επιχείρησης και τις δυνατότητες της ομάδας. Το μάθημα εξετάζει τα κύρια ζητήματα που σχετίζονται με την υλοποίηση μιας αρχιτεκτονικής μικροϋπηρεσιών. Στρατηγικές, μηχανισμοί, πρότυπα που λύνουν τα προβλήματα που αναφέρθηκαν παραπάνω. Για κάθε πρόβλημα που συζητείται, θα παρουσιαστούν τα πιο κοινά εργαλεία (όπως Kubernetes, Istio, Histryx, Kibana και πολλά άλλα).
Οι πρακτικές ασκήσεις θα σας επιτρέψουν να αποκτήσετε την ικανότητα του ανεξάρτητου σχεδιασμού συστημάτων MCA.
Θέματα που καλύπτονται:
1. Αρχιτεκτονικά στυλ (2 ώρες)
Έννοιες του μονόλιθου, SOA, MSA.
Σύγκριση και λογική επιλογής.
2. Μοτίβα αποσύνθεσης MSA (2 ώρες)
Βέλτιστο μέγεθος microservice.
Ανάλυση υπηρεσιών ανά επιχειρηματική ευκαιρία.
Κατανομή των υπηρεσιών ανά προβληματικές περιοχές.
Πρακτικές για τον καθορισμό θεματικών περιοχών.
Αποσύνθεση σύμφωνα με τεχνικές και οργανωτικές πτυχές.
3. Οργάνωση ανάπτυξης για MSA (1 ώρα)
Οργάνωση ομάδων υπό MSA.
Οργάνωση αποθετηρίου κωδικών υπό MSA.
4. Ενοποίηση μικροϋπηρεσιών (3 ώρες)
Μοτίβα αλληλεπίδρασης;
Μηχανισμοί σύγχρονης και ασύγχρονης αλληλεπίδρασης.
Ενορχήστρωση και χορογραφία;
Βασικά πρωτόκολλα και τεχνολογίες (REST, gRPC, GraphQL, Kafka, RabbitMQ, κ.λπ.);
Αλληλεπίδραση με εξωτερικά συστήματα (API Gateway, BFF).
Αντιδραστικά συστήματα;
Αρχιτεκτονικές που βασίζονται σε συμβάντα.
Διαχωρισμός εντολής και αιτήματος.
5. Οργάνωση της εργασίας με δεδομένα σε MSA (3 ώρες)
Μοτίβα εργασίας με δεδομένα.
Δημιουργία γεγονότων.
Δεδομένα αναφοράς στο MSA.
Ενιαία πηγή αλήθειας (Source of Truth) στο MSA.
6. Βασικά πρότυπα ISA (9 ώρες)
Τροποποίηση.
Επίλυση του προβλήματος της υψηλής συνδεσιμότητας. Έκδοση διεπαφών και συμβάντων. Είδη συμβάσεων. Αλλαγές στο μοντέλο εκδήλωσης. Μοτίβα οργάνωσης αιτημάτων. Πλαίσιο Microservice. Service Mesh.
Επεκτασιμότητα.
Μοτίβα για την κατασκευή εξισορροπητών. Υπηρεσίες ανίχνευσης και μοτίβα για εργασία μαζί τους.
Εκτέλεση.
Μοτίβα απόδοσης στο MSA (υπερβολική, χαριτωμένη υποβάθμιση, κ.λπ.).
Συνοχή.
Ζητήματα συνέπειας στο MSA. Θεώρημα CAP. Λύσεις σε προβλήματα συνέπειας. Δεσμεύσεις δύο φάσεων. Μοτίβο SAGA. Μειωμένο επίπεδο συνοχής.
Αξιοπιστία.
Μηχανισμοί ανοχής σφαλμάτων. Μοτίβα διακοπτών κυκλώματος, στραγγαλισμός, εξαρτώμενα χρονικά όρια κ.λπ.
Ασφάλεια.
Μηχανισμοί Ασφαλείας στο MSA. Αυθεντικοποίηση. Εξουσιοδότηση. Περιμετρική προστασία. Προστασία καναλιών επικοινωνίας. Βασικά πρωτόκολλα και μοτίβα (OAUTH2, JWT, gatekeeper, valet key, κ.λπ.).
Δοκιμαστικότητα.
Δοκιμή πυραμίδας και τετραγώνου. Χαρακτηριστικά δοκιμής μικροϋπηρεσιών.
Δοκιμή μονάδας. Δοκιμή ενσωμάτωσης. Δοκιμή εξαρτημάτων. Δοκιμή E2E. Μοτίβα δοκιμής MSA.
Ευκολία συντήρησης.
Παρατηρησιμότητα. Μοτίβα παρακολούθησης (κατανεμημένη ανίχνευση, συσσώρευση αρχείων καταγραφής). Παρακολούθηση και καταγραφή. Διαμόρφωση μικροϋπηρεσιών. Εξωτερικοποίηση της διαμόρφωσης. Υποστήριξη συστήματος.
7. Ανάπτυξη μικροϋπηρεσιών (2 ώρες)
Μοτίβο «Σωλήνα ανάπτυξης».
Μοτίβα ανάπτυξης.
Χρήση τεχνολογιών Docker και Kubernetes.
Χρήση του πλέγματος ISTIO.
Ανάπτυξη χωρίς διακομιστή.
Στρατηγικές ανάπτυξης (γαλαζοπράσινο, καναρίνι κ.λπ.).
8. Στρατηγικές μετανάστευσης από μονόλιθο σε MSA (2 ώρες)
Στρατηγικές για τη μετάβαση από το μονόλιθο στις μικροϋπηρεσίες.
Στραγγαλιστής μονόλιθος;
Μοτίβα στραγγαλισμού.
Επικοινωνία μεταξύ microservice και μονόλιθου.
Μετανάστευση βάσης δεδομένων.