Εξέλιξη Κομματιού
Ημέρα 1: Θεμέλια της Αρχιτεκτονικής Καθοδηγούμενης από Γεγονότα στη Go
- Εισαγωγή στην EDA
- Τι είναι η Αρχιτεκτονική Καθοδηγούμενη από Γεγονότα;
- Σύγκριση Μονολιθικών, Μικροϋπηρεσιών και Καθοδηγούμενων από Γεγονότα Συστημάτων
- Πώς το μοντέλο ταυτοχρονισμού της Go και οι ελαφριές goroutines την καθιστούν ιδανική για EDA
- Βασικές Έννοιες & Οφέλη
- Αποσύνδεση, κλιμακωσιμότητα και ανθεκτικότητα σε επιχειρησιακά συστήματα
- Ορισμός Γεγονότων, Παραγωγών, Καταναλωτών και Μεσιτών Γεγονότων (Event Brokers)
- Πραγματικά παραδείγματα και μελέτες περίπτωσης όπου η Go τροφοδοτεί συστήματα γεγονότων υψηλής απόδοσης
- Θεώρημα CAP & Ανταλλάγματα στην EDA
- Επισκόπηση Συνέπειας (Consistency), Διαθεσιμότητας (Availability) και Ανοχής Κατατμήσεων (Partition Tolerance)
- Επιπτώσεις της EDA σε αυτές τις ιδιότητες
- Στρατηγικές εξισορρόπησης συνέπειας και διαθεσιμότητας σε συστήματα βασισμένα στη Go
Ημέρα 2: Γεγονότα, Μηνύματα και Μοτίβα Επικοινωνίας στη Go
- Κατανόηση Τύπων Γεγονότων
- Γεγονότα Τομέα (Domain Events) έναντι Γεγονότων Ενσωμάτωσης (Integration Events)
- Σύγχρονα έναντι Ασύγχρονων γεγονότων σε εφαρμογές Go
- Μοτίβα Ανταλλαγής Μηνυμάτων στην Πράξη
- Δημοσίευση-Εγγραφή (Pub/Sub) στη Go
- Πώς να σχεδιάζετε και να δομείτε ωφέλιμα φορτία γεγονότων χρησιμοποιώντας JSON, Protocol Buffers ή Avro στη Go
- Υλοποίηση Διαχείρισης Γεγονότων στη Go
- Επισκόπηση δημοφιλών βιβλιοθηκών και πλαισίων Go για ανταλλαγή μηνυμάτων
- Παραδείγματα κώδικα: αποστολή και επεξεργασία γεγονότων χρησιμοποιώντας ιδιωματικά μοτίβα Go
- Πρακτική συνεδρία: Κατασκευή μιας απλής υπηρεσίας καθοδηγούμενης από γεγονότα στη Go
Ημέρα 3: Συστήματα Ανταλλαγής Μηνυμάτων & Μεσίτες Γεγονότων με Go
- Επιλογή και Ενσωμάτωση Μεσιτών Γεγονότων
- Επισκόπηση δημοφιλών μεσιτών: Apache Kafka, RabbitMQ και NATS
- Σύγκριση περιπτώσεων χρήσης και βέλτιστων πρακτικών για συστήματα βασισμένα στη Go
- Ρύθμιση Υποδομής Ανταλλαγής Μηνυμάτων
- Ρύθμιση Docker Compose για Kafka, RabbitMQ ή NATS
- Διαμόρφωση θεμάτων (topics), ανταλλαγών (exchanges), ουρών (queues) και καναλιών (channels)
- Επισκόπηση βιβλιοθηκών πελάτη (client) της Go
- Πρακτικό Εργαστήριο
- Κατασκευή μιας δειγματικής μικροϋπηρεσίας Go που παράγει και καταναλώνει γεγονότα
- Ενσωμάτωση της υπηρεσίας με τον επιλεγμένο μεσίτη γεγονότων
- Αποσφαλμάτωση και δοκιμή ροών γεγονότων
Ημέρα 4: Ανάπτυξη, Παρακολούθηση και Προχωρημένα Θέματα στην EDA με Go
- Ανάπτυξη Καθοδηγούμενων από Γεγονότα Εφαρμογών Go σε Kubernetes
- Δημιουργία containers για εφαρμογές Go για παραγωγή
- Ανάπτυξη του Kafka (ή άλλων μεσιτών) σε συστάδες Kubernetes
- Εισαγωγή στο KEDA (Kubernetes Event-Driven Autoscaling) για κλιμάκωση καταναλωτών γεγονότων
- Διαχείριση Σφαλμάτων και Παρακολούθηση
- Χειρισμός αποτυχιών γεγονότων με στρατηγικές
- Υλοποίηση παρατηρησιμότητας σε υπηρεσίες Go
- Προχωρημένα Θέματα & Ερωτήσεις & Απαντήσεις
- Εξερεύνηση Serverless Αρχιτεκτονικών Καθοδηγούμενων από Γεγονότα με Go
- Χορογραφία Γεγονότων (Event Choreography) έναντι Ενορχήστρωσης: Περιπτώσεις χρήσης και σχεδιαστικές εκτιμήσεις
- Συνήθεις παγίδες, διδάγματα και βέλτιστες πρακτικές
- Ανοιχτή συνεδρία ερωτήσεων και απαντήσεων και διαδραστική αντιμετώπιση προβλημάτων
Απαιτήσεις
- Επάρκεια στη Go (Golang), συμπεριλαμβανομένης της χρήσης goroutines και καναλιών
- Βασική κατανόηση μοντέλων αρχιτεκτονικής λογισμικού όπως μονόλιθοι και μικροϋπηρεσίες
- Εξοικείωση με Docker και Docker Compose
- Βασικές γνώσεις REST APIs και εννοιών δικτύωσης
- Εμπειρία με εργαλεία γραμμής εντολών και Git
- Προαιρετικό αλλά χρήσιμο: προηγούμενη έκθεση σε Kubernetes και συστήματα ανταλλαγής μηνυμάτων όπως Kafka, RabbitMQ ή NATS
Ακροατήριο
- Προγραμματιστές Go που κατασκευάζουν κλιμακώσιμες, καθοδηγούμενες από γεγονότα εφαρμογές
- Μηχανικοί λογισμικού που μεταβαίνουν από μονολιθικές αρχιτεκτονικές ή αρχιτεκτονικές βασισμένες σε REST σε ασύγχρονα συστήματα
- Μηχανικοί DevOps και cloud που εργάζονται με containerized ή κατανεμημένες μικροϋπηρεσίες
- Τεχνικοί αρχιτέκτονες και σχεδιαστές συστημάτων που εξερευνούν μοτίβα EDA χρησιμοποιώντας Go
Σχόλια (7)
γράφουμε κάπος κώδικα στη ΓΟ και μαθαίνουμε ορισμένα πράγματα σχετικά με την EDA όπως τα γεγονότα, όταν και πώς.
Alin
Κομμάτι - Event Driven Architecture Custom
Μηχανική Μετάφραση
Ήταν ένα διαδραστικό μάθημα, κανένας χρόνος για να κοimηθεί :)). Ήταν επίσης όμορφο να δουλέψουμε σε ομάδες και στη συνέχεια να αναλύσουμε το κάθε αποτέλεσμα.
Alina
Κομμάτι - Event Driven Architecture Custom
Μηχανική Μετάφραση
Απολάβα τις συζητήσεις και τα παραδείγματα που μας έδωσε, ώστε να φτάσουμε μόνοι μας στις αποφάσεις που ήθελε να μοιραστεί μαζί μας. Μου άρεσε το ρυθμός, τα αγγλικά, η υπομονή, ότι ακόμη και αν δεν έφταναμε στην καλύτερη απάντηση, δεν θα μας έλεγε ότι είναι λάθος, αλλά ήρθε με παραδείγματα του τι μπορούσε να είναι καλύτερο.
Simona
Κομμάτι - Event Driven Architecture Custom
Μηχανική Μετάφραση
Οι ανοιχτές συζητήσεις και η μετάβαση από την κατανόηση των προβλημάτων/λόγων (του `why`) στο `EDA`.
Constantin
Κομμάτι - Event Driven Architecture Custom
Μηχανική Μετάφραση
η προσέγγιση παρουσίασης των πραγμάτων με σημαντική βάση στην αλληλεπίδραση και τα παραδείγματα
Virgil
Κομμάτι - Event Driven Architecture Custom
Μηχανική Μετάφραση
Η αλληλεπιδραστική φύση του μαθήματος Η προσέγγιση μάθησης μέσω της αυτοανακάλυψης όπου βρίσκατε τις απαντήσεις δικοί σας Η πρακτική έμφαση με παραδείγματα από την πραγματική ζωή που κάνουν τα θέματα πιο συνδεδεμένα
Roxana Sandu
Κομμάτι - Event Driven Architecture Custom
Μηχανική Μετάφραση
Πολύ αλληλεπιδραστικό. Ο εκπαιδευτής ήταν πολύ γνωστικά έντονος και υπομονετικός.
Robert
Κομμάτι - Event Driven Architecture Custom
Μηχανική Μετάφραση