Παρακαλώ χρησιμοποιήστε αυτό το αναγνωριστικό για να παραπέμψετε ή να δημιουργήσετε σύνδεσμο προς αυτό το τεκμήριο: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18324
Τίτλος: Ιεράρχηση προτεραιοτήτων μηνυμάτων σε ένα gRPC κανάλι
Συγγραφείς: Ρέτσα, Μαρία
Βαρβαρίγος Εμμανουήλ
Λέξεις κλειδιά: κλήση απομακρυσμένης διαδικασίας
πρωτόκολλο
gRPC
HTTP/2
πελάτης
διακομιστής
χρονοδρομολογητής
ποιότητα υπηρεσίας
TCP σύνδεση
προτεραιότητα κλήσης
ιεράρχηση προτεραιοτήτων
εξοικονόμηση πόρων
πολυπλεξία πακέτων
Ημερομηνία έκδοσης: 5-Ιου-2022
Περίληψη: Το RPC (Remote Procedure Call) ή κλήση απομακρυσμένης διαδικασίας, είναι ένα πρωτόκολλο που χρησιμοποείται για την επικοινωνία μεταξύ διεργασιών – προγραμμάτων που βρίσκονται σε διαφορετικά συστήματα, τα οποία επικοινωνούν μεταξύ τους μέσω κάποιου δικτύου, χωρίς να χρειάζεται οι διεργασίες να γνωρίζουν τις λεπτομέρειες του δικτύου αυτού. Το RPC καθιστά το μοντέλο προγραμματισμού διακομιστή – πελάτη ιδιαίτερα εύκολο στην υλοποίησή του, γι’ αυτό και είναι ιδιαίτερα δημοφιλές στα σύγχρονα κατανεμημένα συστήματα και σε αρχιτεκτονικές μικροϋπηρεσιών. Το gRPC (google RPC) είναι ένα ανοιχτού κώδικα framework για την υποστήριξη του RPC πρωτοκόλλου που βασίζεται στα Google Protocol Buffers και λειτουργεί πάνω από HTTP/2 συνδέσεις. Παρουσιάζει πολλά πλεονεκτήματα τόσο στο κομμάτι της υλοποίησης και συντήρησης ενός συστήματος, όσο και σε επίπεδο απόδοσης. Το gRPC είναι ανεξάρτητο της πλατφόρμας και της γλώσσας προγραμματισμού που χρησιμοποιείται καθώς έχει τη δυνατότητα να παράγει αυτόματα κώδικα σε πληθώρα γλωσσών, ο οποίος μπορεί να χρησιμοποιηθεί από τη βασική εφαρμογή. Επίσης με τη χρήση του HTTP/2 πρωτοκόλλου επιτυγχάνεται πολυπλεξία των διαφόρων streams μεταξύ πελάτη και διακομιστή πάνω από την ίδια TCP σύνδεση χωρίς να απαιτείται να δημιουργηθεί, εδραιωθεί και τέλος να τερματιστεί μία νέα σύνδεση για κάθε νέα κλήση απομακρυσμένης διαδικασίας. Στο gRPC η κάθε ροή που εξυπηρετεί μία κλήση απομακρυσμένης διαδικασίας είναι ισότιμη, και επομένως δεν υπάρχει κάποιος τρόπος διαφοροποίησης των rpc με βάση την προτεραιότητά τους. Υπάρχουν περιπτώσεις όμως στις οποίες κάτι τέτοιο θα ήταν επιθυμητό. Ο διαχωρισμός των rpc θα μπορούσε να επιτευχθεί με τη δημιουργία νέου καναλιού με ξεχωριστή σύνδεση για κάθε ένα από αυτά, ωστόσο τότε θα υπήρχε χρήση περισσότερων πόρων, και θα χανόταν το πλεονέκτημα της ύπαρξης μόνο μίας TCP σύνδεσης στο gRPC. Στόχος της διπλωματικής αυτής ήταν μια προσέγγιση επίλυσης του προαναφερθέντος προβλήματος. Συγκεκριμένα, αναπτύχθηκε ένα κομμάτι λογισμικού στην πλευρά του πελάτη, πριν από το gRPC επίπεδο, το οποίο έχει το ρόλο ενός χρονοδρομολογητή: δέχεται από τον πελάτη αιτήματα να κάνει κλήσεις απομακρυσμένης διαδικασίας με διαφορετικές προτεραιότητες, και βάσει αυτών επιτρέπει στην κλήση με την μεγαλύτερη προτεραιότητα κάθε φορά να καταλαμβάνει το κανάλι, χωρίς να πολυπλέκεται, ώστε να στέλνεται και να εξυπηρετείται πρώτη. Η λύση αυτή προσθέτει μία χρονική επιβάρυνση λόγω των καθυστερήσεων στη διαδικασία της χρονοδρομολόγησης, ωστόσο επιτυγχάνει καλύτερο QoS (ποιότητα υπηρεσίας) σε σχέση με την δημιουργία νέας σύνδεση για κάθε προτεραιότητα, καθώς δεν υπάρχει σπατάλη περισσότερων πόρων από όσους χρειάζονται.
URI: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18324
Εμφανίζεται στις συλλογές:Διπλωματικές Εργασίες - Theses

Αρχεία σε αυτό το τεκμήριο:
Αρχείο Περιγραφή ΜέγεθοςΜορφότυπος 
thesis_Maria_Retsa.pdf2.57 MBAdobe PDFΕμφάνιση/Άνοιγμα


Όλα τα τεκμήρια του δικτυακού τόπου προστατεύονται από πνευματικά δικαιώματα.