Οι αρχιτεκτονικές οδηγούμενες απο events αποτελούν μία πολύ χρήσιμη προσέγγιση ως προς την
αποσύνδεση της επικοινωνίας μεταξύ υπηρεσιών, επιτρέποντας παράλληλα μοναδικά μοτίβα επικοιν-
ωνίας. Οι συγκεκριμένες απαιτήσεις για ανθεκτικότητα, διαθεσιμότητα και απόδοση αυτών των αρ-
χιτεκτονικών, δικαιολογεί τη χρήση εξειδικευμένων υπηρεσιών μεταβίβασης events. Επιπλέον, νέες,
πραγματικού χρόνου απαιτήσεις διαδικασιών επεξεργασίας events, όπως παραγωγή και επεξεργασία
μετρήσεων και αναλυτικών στοιχείων, απαιτούν μια νέα προσέγγιση σε σύγκριση με την παραδοσι-
ακού τύπου batch επεξεργασίας events. Το Apache Kafka είναι μία ανοιχτού κώδικα πλατφόρμα ροής
events που μπορεί να επιτρέψει και τις δύο περιπτώσεις χρήσης. Αυτή η διατριβή εκτελεί μια συνοπτική
παρουσίαση του κύριου αρχιτεκτονικού μοντέλου του Αpache Kafka, ενώ εστιάζει στις εγγυήσεις που
παρέχει ως προς την ανθεκτικότητά και διαθεσιμότητα του συστήματος, καθώς και παρέχει οδηγίες
για την επίτευξη συγκεκριμένων επιθυμητών λειτουργικών χαρακτηριστικών. Επίσης, περιγράφει και
ενισχύει περαιτέρω ένα μαθηματικό μοντέλο που επιτρέπει την εκτίμηση και τον καθορισμό μέγεθους
της υποδομής ενός Apache Kafka σμήνους, αλλα και εκφράζει την σχέση μεταξύ του μεγέθους των
Topics, το μέγιστο παράθηρο μη διαθεσιμότητας και την απο άκρο σε άκρο καθυστέρηση μεταφοράς.
(EL)
Event-Driven architectures are a very useful approach to decoupling inter-service communication
while enabling unique communication patterns. The specific resiliency, availability, and performance
requirements of such architectures, warrants the usage of specialized Message-Broker services.
Moreover, new real-time requirements of many event processing tasks, such as metrics and analytics,
requires a new approach compared to legacy batch processing. Apache Kafka is an open-source
event streaming platform that can accommodate both use cases. This thesis performs a succinct
presentation of Apache Kafka’s main architectural model, while focusing on its concrete resiliency
and availability guarantees and providing guidelines for achieving desired operational characteristics.
We also document and further enhance a mathematical model that permits the estimation and
concrete sizing of cluster infrastructure, as well as express the link between topic sizing, maximum unavailability and end-to-end latency.
(EN)