Πρωτόκολλο κλήσης απομακρυσμένης διαδικασίας (RPC) σε κατανεμημένο σύστημα
⚡ Έξυπνη Σύνοψη
Η Κλήση Απομακρυσμένης Διαδικασίας (RPC) είναι ένα πρωτόκολλο επικοινωνίας μεταξύ διεργασιών που επιτρέπει σε ένα πρόγραμμα να εκτελέσει μια διαδικασία σε έναν άλλο χώρο διευθύνσεων ή μηχάνημα, αποκρύπτοντας τις λεπτομέρειες δικτύου πίσω από μια συνηθισμένη κλήση τοπικής συνάρτησης σε κατανεμημένα συστήματα πελάτη-διακομιστή.
Τι είναι το RPC;
Απομακρυσμένη κλήση διαδικασίας (RPC) Το Ultherapy είναι μια θεραπεία εγκεκριμένη από τον FDA. Χρησιμοποιεί εστιασμένο υπέρηχο για τη θεραπεία συγκεκριμένων περιοχών όπως το πρόσωπο και ο λαιμός. επικοινωνία μεταξύ διεργασιών Τεχνική που χρησιμοποιείται για εφαρμογές client-server. Η πλήρης μορφή του RPC είναι Remote Procedure Call (Κλήση Απομακρυσμένης Διαδικασίας). Οι μηχανισμοί RPC χρησιμοποιούνται όταν ένα πρόγραμμα υπολογιστή προκαλεί την εκτέλεση μιας διαδικασίας ή υπορουτίνας σε διαφορετικό χώρο διευθύνσεων, κωδικοποιημένη ως κανονική κλήση διαδικασίας χωρίς ο προγραμματιστής να κωδικοποιεί ρητά τις λεπτομέρειες για την απομακρυσμένη αλληλεπίδραση.
Αυτή η κλήση διαδικασίας διαχειρίζεται επίσης πρωτόκολλα μεταφοράς χαμηλού επιπέδου, όπως το UDP και το TCP/IP, για τη μεταφορά των δεδομένων μηνυμάτων μεταξύ προγραμμάτων.
Τύποι RPC
Τρεις τύποι RPC είναι:
- RPC επανάκλησης
- Εκπομπή RPC
- RPC σε λειτουργία παρτίδας
RPC επανάκλησης
Αυτός ο τύπος RPC επιτρέπει ένα παράδειγμα peer-to-peer (P2P) μεταξύ των συμμετεχουσών διεργασιών. Βοηθά μια διεργασία να λειτουργεί τόσο ως πελάτης όσο και ως διακομιστής.
Λειτουργίες του Callback RPC:
- Χειρίζεται προβλήματα εφαρμογών που έχουν υποστεί επεξεργασία εξ αποστάσεως, με διαδραστικό τρόπο.
- Παρέχει στον διακομιστή τον κωδικό πρόσβασης του πελάτη.
- Η επανάκληση κάνει τη διεργασία-πελάτης να περιμένει.
- Διαχειρίζεται τα αδιέξοδα επανάκλησης.
- Διευκολύνει ένα παράδειγμα peer-to-peer μεταξύ των συμμετεχουσών διεργασιών.
Εκπομπή RPC
Το Broadcast RPC είναι ένα αίτημα πελάτη που μεταδίδεται στο δίκτυο και υποβάλλεται σε επεξεργασία από όλους τους διακομιστές που διαθέτουν τη μέθοδο για την επεξεργασία αυτού του αιτήματος.
Λειτουργίες του Broadcast RPC:
- Σας επιτρέπει να καθορίσετε ότι το μήνυμα αιτήματος του πελάτη πρέπει να μεταδοθεί.
- Μπορείτε να δηλώσετε θύρες εκπομπής.
- Βοηθά στη μείωση του φόρτου στο φυσικό δίκτυο.
RPC σε λειτουργία παρτίδας
Το RPC σε λειτουργία παρτίδας βοηθά στην τοποθέτηση σε ουρά ξεχωριστών αιτημάτων RPC σε ένα buffer μετάδοσης στην πλευρά του πελάτη και στη συνέχεια στην αποστολή τους μέσω δικτύου σε μία παρτίδα στον διακομιστή.
Λειτουργίες του RPC σε λειτουργία παρτίδας:
- Ελαχιστοποιεί το κόστος που συνεπάγεται η αποστολή ενός αιτήματος, καθώς στέλνει αιτήματα μέσω του δικτύου σε μία δέσμη στον διακομιστή.
- Αυτός ο τύπος πρωτοκόλλου RPC είναι αποτελεσματικός μόνο για εφαρμογές που χρειάζονται χαμηλότερους ρυθμούς κλήσεων.
- Χρειάζεται ένα αξιόπιστο πρωτόκολλο μετάδοσης.
RPC Archiδομή
Η αρχιτεκτονική RPC έχει κυρίως πέντε στοιχεία του προγράμματος:
- Πελάτης
- Client Stub
- RPC Runtime
- Στέλεχος διακομιστή
- διακομιστή
RPC Archiδομή
Πώς λειτουργεί το RPC;
Τα ακόλουθα βήματα λαμβάνουν χώρα κατά τη διάρκεια της διαδικασίας RPC:
Βήμα 1) Ο υπολογιστής-πελάτης, το stub του υπολογιστή-πελάτη και μία παρουσία της εκτέλεσης του χρόνου εκτέλεσης RPC στον υπολογιστή-πελάτη.
Βήμα 2) Ο υπολογιστής-πελάτης ξεκινά μια διεργασία stub υπολογιστή-πελάτη διαβιβάζοντας παραμέτρους με τον συνήθη τρόπο. Το stub υπολογιστή-πελάτη αποθηκεύεται στον δικό του χώρο διευθύνσεων του υπολογιστή-πελάτη. Ζητά επίσης από το τοπικό RPC Runtime να στείλει το αίτημα στο stub διακομιστή.
Βήμα 3) Σε αυτό το στάδιο, ο χρήστης αποκτά πρόσβαση στο RPC πραγματοποιώντας μια κανονική κλήση τοπικής διαδικασίας. Το RPC Runtime διαχειρίζεται τη μετάδοση μηνυμάτων μεταξύ του πελάτη και του διακομιστή σε όλο το δίκτυο. Εκτελεί επίσης την εργασία της αναμετάδοσης, της επιβεβαίωσης, της δρομολόγησης και της κρυπτογράφησης.
Βήμα 4) Μετά την ολοκλήρωση της διαδικασίας διακομιστή, η εκτέλεση επιστρέφει στο stub διακομιστή, το οποίο συσκευάζει (ταξινομεί) τις τιμές επιστροφής σε ένα μήνυμα. Το stub διακομιστή στη συνέχεια στέλνει το μήνυμα πίσω στο επίπεδο μεταφοράς.
Βήμα 5) Σε αυτό το βήμα, το επίπεδο μεταφοράς στέλνει το μήνυμα αποτελέσματος πίσω στο επίπεδο μεταφοράς του πελάτη, το οποίο επιστρέφει το μήνυμα στο stub του πελάτη.
Βήμα 6) Σε αυτό το στάδιο, το stub του πελάτη αποσυμπιέζει (demarshals) τις παραμέτρους επιστροφής στο πακέτο που προκύπτει και η εκτέλεση επιστρέφει στον καλούντα.
Χαρακτηριστικά του RPC
Ακολουθούν τα βασικά χαρακτηριστικά του RPC:
- Η κληθείσα διαδικασία βρίσκεται σε μια άλλη διεργασία, η οποία είναι πιθανό να βρίσκεται σε άλλο μηχάνημα.
- Οι διεργασίες δεν μοιράζονται χώρο διευθύνσεων.
- Οι παράμετροι περνούν μόνο από τιμές.
- Το RPC εκτελείται μέσα στο περιβάλλον της διαδικασίας διακομιστή.
- Δεν προσφέρει πρόσβαση στο περιβάλλον της διαδικασίας κλήσης.
Χαρακτηριστικά του RPC
Ακολουθούν τα σημαντικά χαρακτηριστικά του RPC:
- Απλή σύνταξη κλήσης.
- Προσφέρει γνωστή σημασιολογία.
- Παρέχει μια καλά καθορισμένη διεπαφή.
- Μπορεί να επικοινωνεί μεταξύ διεργασιών στον ίδιο ή σε διαφορετικούς υπολογιστές.
Πλεονεκτήματα του RPC
Ακολουθούν τα πλεονεκτήματα/οφέλη του RPC:
- Το RPC βοηθά τους πελάτες να επικοινωνούν με τους διακομιστές μέσω της συμβατικής χρήσης κλήσεων διαδικασιών σε γλώσσες υψηλού επιπέδου.
- Το RPC μοντελοποιείται με βάση την κλήση τοπικής διαδικασίας, αλλά η καλούμενη διαδικασία πιθανότατα εκτελείται σε διαφορετική διεργασία και συνήθως σε διαφορετικό υπολογιστή.
- Το RPC υποστηρίζει μοντέλα προσανατολισμένα στις διαδικασίες και μοντέλα προσανατολισμένα στα νήματα.
- Το RPC καθιστά τον εσωτερικό μηχανισμό μετάδοσης μηνυμάτων κρυφό από τον χρήστη.
- Δεσμεύει πολλά από τα επίπεδα πρωτοκόλλου για τη βελτίωση της απόδοσης.
- Το RPC παρέχει κοιλιακούςtracγια παράδειγμα, η φύση της μετάδοσης μηνυμάτων της επικοινωνίας δικτύου παραμένει κρυφή από τον χρήστη.
- Το RPC μπορεί να χρησιμοποιηθεί τόσο σε κατανεμημένα όσο και σε τοπικά περιβάλλοντα.
- Η προσπάθεια που απαιτείται για την επαναγραφή και την εκ νέου ανάπτυξη του κώδικα είναι ελάχιστη.
Μειονεκτήματα του RPC
Ακολουθούν τα μειονεκτήματα/μειονεκτήματα της χρήσης RPC:
- Η Κλήση Απομακρυσμένης Διαδικασίας μεταβιβάζει παραμέτρους μόνο κατά τιμές. Δεν επιτρέπονται τιμές δείκτη (αναφοράς).
- Ο χρόνος κλήσης (και επιστροφής) μιας απομακρυσμένης διαδικασίας — η επιβάρυνση — είναι σημαντικά υψηλότερος από ό,τι για μια τοπική διαδικασία.
- Αυτός ο μηχανισμός είναι ιδιαίτερα ευάλωτος σε αποτυχία, καθώς περιλαμβάνει ένα σύστημα επικοινωνίας, μια άλλη μηχανή και μια άλλη διαδικασία.
- Η έννοια του RPC μπορεί να υλοποιηθεί με διαφορετικούς τρόπους, επομένως δεν υπάρχει ένα ενιαίο πρότυπο.
- Δεν προσφέρει ευελιξία στην αρχιτεκτονική υλικού, καθώς βασίζεται κυρίως στην αλληλεπίδραση.
- Το κόστος της διαδικασίας αυξάνεται λόγω της κλήσης διαδικασίας από απόσταση.


