Περίληψη : | Σε αυτή τη διπλωματική εργασία, εξετάζουμε την επεκτασιμότητα και την βελτιστοποίηση της απόδοσης μιας αρχιτεκτονικής βασισμένης σε μικροϋπηρεσίες υπό διαφορετικά φορτία. Μέσα από διαφορετικά πειράματα σε μια εφαρμογή που αφορά σύστημα κρατήσεων ξενοδοχείων, αξιολογούμε την επίδραση στρατηγικών κλιμάκωσης υπηρεσιών και βάσεων δεδομένων σε βασικούς δείκτες απόδοσης, όπως ο μέσος χρόνος απόκρισης, η τυπική απόκλιση και ο μέγιστος χρόνος απόκρισης. Χρησιμοποιώντας εργαλεία αναφοράς όπως το wrk2 για τη δημιουργία κίνησης, αναλύουμε τα προβλήματα απόδοσης και εντοπίζουμε κρίσιμες υπηρεσίες, όπως οι μικροϋπηρεσίες γεωγραφικής τοποθεσίας και προτιμήσεων, που συνεισφέρουν σημαντικά στην συμπεριφορά του συστήματος. Πειράματα κλιμάκωσης με μεταβαλλόμενους αριθμούς αντιγράφων δείχνουν μετρήσιμες βελτιώσεις στους χρόνους απόκρισης και την απόδοση, καταλήγοντας σε μια στρατηγική κλιμάκωσης που εξασφαλίζει υψηλή σταθερότητα και βέλτιστη απόδοση του συστήματος. Αυτή η εργασία παρέχει χρήσιμα συμπεράσματα για τη βελτιστοποίηση μικροϋπηρεσιών και τον σχεδιασμό επεκτάσιμων συστημάτων για σύγχρονες κατανεμημένες εφαρμογές. In this thesis, we explore the scalability and performance optimization of a microservices-based architecture under different workloads. By doing extensive experiments on a cloud-native hotel reservation system, we assess the impact of service and database scaling strategies on key performance metrics, including average latency, standard deviation, and maximum latency. Using benchmark tools like wrk2 for traffic generation we analyze the performance bottlenecks and identify critical services, such as the geo and recommendation microservices, that contribute significantly to system backpressure. Scaling experiments with varying replicas demonstrate measurable improvements in response times and throughput, culminating in a balanced scaling strategy that ensures high stability and optimal performance. This research provides actionable insights into microservice optimization and scalable system design for modern distributed applications.
|
---|