Εξέλιξη Κομματιού
Εισαγωγή στα Κατανεμημένα Συστήματα
- Τι είναι ένα κατανεμημένο σύστημα;
- Κοινές προκλήσεις: καθυστέρηση, συνέπεια, διαθεσιμότητα
- Επισκόπηση των συστατικών του συστήματος και των μοντέλων επικοινωνίας
Αρχές Κλιμάκωσης
- Κάθετη έναντι οριζόντιας κλιμάκωσης
- Εξισορρόπηση φορτίου και ελαστικότητα
- Κλιμάκωση αποθήκευσης, υπολογιστικής ισχύος και εισόδου/εξόδου
Αρχιτεκτονικά Μοτίβα
- Αρχιτεκτονικές πελάτη-διακομιστή και πολλαπλών επιπέδων
- Αρχιτεκτονικές προσανατολισμένες σε υπηρεσίες και μικροϋπηρεσίες
- Αρχιτεκτονική βασισμένη σε γεγονότα και ουρές μηνυμάτων
Θεώρημα CAP και Μοντέλα Συνέπειας
- Επεξήγηση του θεωρήματος CAP
- Ισχυρή συνέπεια έναντι τελικής συνέπειας
- Επιλογή μεταξύ συνέπειας και διαθεσιμότητας
Διανομή Δεδομένων και Στρατηγικές Αποθήκευσης
- Κατανομή και sharding
- Στρατηγικές αναπαραγωγής και αναγνώσεις/εγγραφές με απαρτία
- Κατανεμημένες βάσεις δεδομένων και αποθήκες κλειδιών-τιμών
Επικοινωνία και Συντονισμός σε Κατανεμημένα Συστήματα
- REST, gRPC, μεσάζοντες μηνυμάτων (π.χ. Kafka, RabbitMQ)
- Εκλογή ηγέτη και κατανεμημένη συναίνεση
- Χρήση του Zookeeper ή etcd για συντονισμό
Ανοχή Σφαλμάτων και Αξιοπιστία
- Σχεδίαση για αποτυχία και ευγενή υποβάθμιση
- Μηχανισμοί επαναδοκιμών, χρονικά όρια και διακόπτες κυκλώματος
- Παρακολούθηση, παρατηρησιμότητα και χαοτική μηχανική
Νεφοκεντρικές και Σύγχρονες Πρακτικές Υλοποίησης
- Εμπορευματοκιβώτια, ενορχήστρωση και Kubernetes
- Έλλειψη κατάστασης και αμεταβλητότητα
- Βέλτιστες πρακτικές για ασφάλεια κατανεμημένων συστημάτων
Σύνοψη και Επόμενα Βήματα
Απαιτήσεις
- Κατανόηση βασικών εννοιών δικτύωσης και σχεδίασης συστημάτων
- Εμπειρία με γενικές πρακτικές ανάπτυξης λογισμικού
- Εξοικείωση με το υπολογιστικό νέφος και τον σχεδιασμό APIs είναι χρήσιμη
Κοινό
- Αρχιτέκτονες λογισμικού και τεχνικοί υπεύθυνοι
- Μηχανικοί υποστήριξης (backend) και επαγγελματίες DevOps
- Σχεδιαστές συστημάτων που κατασκευάζουν κλιμακούμενες εφαρμογές νέφους
Σχόλια (3)
Έτοιμο έργο με το οποίο θα μπορούσαμε να εργαστούμε από την αρχή, χωρίς να χάνουμε χρόνο στη δημιουργία αρχείων που δεν χρειάζονται στις ασκήσεις. Ετοιμότητα για να απαντήσουμε σε όλες τις ερωτήσεις που προέκυψαν από τους συμμετέχοντες.
Robert Walczak - Hitachi Energy
Κομμάτι - Systems Modeling with SysML and Enterprise Architect (EA)
Μηχανική Μετάφραση
Ο εκπαιδευτής ενημερώνει το μάθημα σύμφωνα με τις προσδοκίες των μαθητών
Alexandru
Κομμάτι - Software Architecture in Cloud
Μηχανική Μετάφραση
Πρακτική σε ασκήσεις του EA.
Pawel - Krajowa Szkola Skarbowosci
Κομμάτι - UML in Enterprise Architect (workshops)
Μηχανική Μετάφραση