Πρωτόκολλο κλήσης απομακρυσμένης διαδικασίας (RPC) σε κατανεμημένο σύστημα

Τι είναι το RPC;

Απομακρυσμένη κλήση διαδικασίας (RPC) είναι μια τεχνική επικοινωνίας διαδικασιών. Η πλήρης μορφή του RPC είναι Κλήση απομακρυσμένης διαδικασίας. Χρησιμοποιείται για εφαρμογές πελάτη-διακομιστή. Οι μηχανισμοί RPC χρησιμοποιούνται όταν ένα πρόγραμμα υπολογιστή προκαλεί την εκτέλεση μιας διαδικασίας ή υπορουτίνας σε διαφορετικό χώρο διευθύνσεων, ο οποίος κωδικοποιείται ως κλήση κανονικής διαδικασίας χωρίς ο προγραμματιστής να κωδικοποιεί συγκεκριμένα τις λεπτομέρειες για την απομακρυσμένη αλληλεπίδραση.

Αυτή η κλήση διαδικασίας διαχειρίζεται επίσης πρωτόκολλο μεταφοράς χαμηλού επιπέδου, όπως το Πρωτόκολλο Δεδομένων Χρήστη, Transmission Πρωτόκολλο Ελέγχου/Πρωτόκολλο Διαδικτύου κ.λπ. Χρησιμοποιείται για τη μεταφορά των δεδομένων μηνυμάτων μεταξύ προγραμμάτων.

Τύποι RPC

Τρεις τύποι RPC είναι:

  • RPC επανάκλησης
  • Εκπομπή RPC
  • RPC σε λειτουργία παρτίδας

RPC επανάκλησης

Αυτός ο τύπος RPC επιτρέπει ένα παράδειγμα P2P μεταξύ των διαδικασιών που συμμετέχουν. Βοηθά μια διαδικασία να είναι και υπηρεσίες πελάτη και διακομιστή.

Λειτουργίες του Callback RPC:

  • Προβλήματα διαδραστικών εφαρμογών απομακρυσμένης επεξεργασίας
  • Προσφορές διακομιστή με χειρισμό πελατών
  • Η επιστροφή κλήσης κάνει τη διαδικασία πελάτη να περιμένει
  • Διαχειριστείτε τα αδιέξοδα επανάκλησης
  • Διευκολύνει ένα παράδειγμα peer-to-peer μεταξύ των διαδικασιών που συμμετέχουν.

Εκπομπή RPC

Το Broadcast RPC είναι το αίτημα ενός πελάτη, το οποίο μεταδίδεται στο δίκτυο, το οποίο υποβάλλεται σε επεξεργασία από όλους τους διακομιστές που διαθέτουν τη μέθοδο για την επεξεργασία αυτού του αιτήματος.

Λειτουργίες του Broadcast RPC:

  • Σας επιτρέπει να καθορίσετε ότι το μήνυμα αιτήματος του πελάτη πρέπει να μεταδοθεί.
  • Μπορείτε να δηλώσετε θύρες εκπομπής.
  • Βοηθά στη μείωση του φόρτου στο φυσικό δίκτυο

RPC σε λειτουργία παρτίδας

Το RPC σε λειτουργία δέσμης βοηθά στην ουρά, στο διαχωρισμό των αιτημάτων RPC, σε μια προσωρινή μνήμη μετάδοσης, στην πλευρά του πελάτη και, στη συνέχεια, στην αποστολή τους σε ένα δίκτυο σε μία παρτίδα στον διακομιστή.

Λειτουργίες του RPC σε λειτουργία παρτίδας:

  • Ελαχιστοποιεί τα έξοδα αποστολής ενός αιτήματος καθώς τα στέλνει μέσω του δικτύου σε μία παρτίδα στον διακομιστή.
  • Αυτός ο τύπος πρωτοκόλλου RPC είναι αποτελεσματικός μόνο για την εφαρμογή που χρειάζεται χαμηλότερες χρεώσεις κλήσεων.
  • Χρειάζεται ένα αξιόπιστο πρωτόκολλο μετάδοσης.

RPC Archiδομή

Η αρχιτεκτονική RPC έχει κυρίως πέντε στοιχεία του προγράμματος:

  1. Πελάτης
  2. Client Stub
  3. RPC Runtime
  4. Στέλεχος διακομιστή
  5. διακομιστή
RPC Archiδομή
RPC Archiδομή

Πώς λειτουργεί το RPC;

Τα ακόλουθα βήματα λαμβάνουν χώρα κατά τη διαδικασία RPC:

Βήμα 1) Ο υπολογιστής-πελάτης, το στέλεχος πελάτη και ένα στιγμιότυπο του χρόνου εκτέλεσης RPC εκτελούνται στον υπολογιστή-πελάτη.

Βήμα 2) Ένας πελάτης ξεκινά μια διαδικασία απόκομμα πελάτη μεταβιβάζοντας παραμέτρους με τον συνήθη τρόπο. Το στέλεχος πελάτη αποθηκεύεται στον χώρο διευθύνσεων του ίδιου του πελάτη. Ζητάει επίσης από το τοπικό RPC Runtime να στείλει πίσω στο στέλεχος διακομιστή.

Βήμα 3) Σε αυτό το στάδιο, ο χρήστης έχει πρόσβαση στο RPC κάνοντας κανονική Τοπική Διαδικαστική Υπολογ. Το RPC Runtime διαχειρίζεται τη μετάδοση μηνυμάτων μεταξύ του δικτύου μεταξύ του πελάτη και του διακομιστή. Εκτελεί επίσης τη δουλειά της αναμετάδοσης, της αναγνώρισης, της δρομολόγησης και της κρυπτογράφησης.

Βήμα 4) Μετά την ολοκλήρωση της διαδικασίας διακομιστή, επιστρέφει στο στέλεχος του διακομιστή, το οποίο συσκευάζει (διατάσσει) τις τιμές επιστροφής σε ένα μήνυμα. Στη συνέχεια, το στέλεχος διακομιστή στέλνει ένα μήνυμα πίσω στο επίπεδο μεταφοράς.

Βήμα 5) Σε αυτό το βήμα, το επίπεδο μεταφοράς στέλνει πίσω το μήνυμα αποτελέσματος στο επίπεδο μεταφοράς πελάτη, το οποίο επιστρέφει ένα μήνυμα στο στέλεχος πελάτη.

Βήμα 6) Σε αυτό το στάδιο, το στέλεχος πελάτη διαγράφει (ξεσυσκευάζει) τις παραμέτρους επιστροφής, στο πακέτο που προκύπτει και η διαδικασία εκτέλεσης επιστρέφει στον καλούντα.

Χαρακτηριστικά του RPC

Ακολουθούν τα βασικά χαρακτηριστικά του RPC:

  • Η καλούμενη διαδικασία βρίσκεται σε μια άλλη διαδικασία, η οποία είναι πιθανό να βρίσκεται σε άλλη μηχανή.
  • Οι διεργασίες δεν μοιράζονται χώρο διευθύνσεων.
  • Οι παράμετροι περνούν μόνο από τιμές.
  • Το RPC εκτελείται μέσα στο περιβάλλον της διαδικασίας διακομιστή.
  • Δεν προσφέρει πρόσβαση στο περιβάλλον της διαδικασίας κλήσης.

Χαρακτηριστικά του RPC

Ακολουθούν τα σημαντικά χαρακτηριστικά του RPC:

  • Απλή σύνταξη κλήσης
  • Προσφέρει γνωστή σημασιολογία
  • Παρέχετε μια καλά καθορισμένη διεπαφή
  • Μπορεί να επικοινωνεί μεταξύ διεργασιών σε ίδια ή διαφορετικά μηχανήματα

Πλεονεκτήματα του RPC

Ακολουθούν τα πλεονεκτήματα/πλεονεκτήματα του RPC:

  • Η μέθοδος RPC βοηθά τους πελάτες να επικοινωνούν με διακομιστές με τη συμβατική χρήση κλήσεων διαδικασίας σε γλώσσες υψηλού επιπέδου.
  • Η μέθοδος RPC διαμορφώνεται στην κλήση τοπικής διαδικασίας, αλλά η καλούμενη διαδικασία είναι πολύ πιθανό να εκτελεστεί σε διαφορετική διαδικασία και συνήθως σε διαφορετικό υπολογιστή.
  • Το RPC υποστηρίζει μοντέλα προσανατολισμένα σε διεργασίες και νήματα.
  • Το RPC κάνει τον εσωτερικό μηχανισμό διέλευσης μηνυμάτων κρυφό από τον χρήστη.
  • Η προσπάθεια που χρειάζεται για την επανεγγραφή και την εκ νέου ανάπτυξη του κώδικα είναι ελάχιστη.
  • Οι κλήσεις απομακρυσμένων διαδικασιών μπορούν να χρησιμοποιηθούν για σκοπούς διανομής και τοπικού περιβάλλοντος.
  • Δεσμεύει πολλά από τα επίπεδα πρωτοκόλλου για τη βελτίωση της απόδοσης.
  • Το RPC παρέχει αφαίρεση. Για παράδειγμα, η φύση της μετάδοσης μηνυμάτων της επικοινωνίας δικτύου παραμένει κρυφή από το χρήστη.
  • Το RPC επιτρέπει τη χρήση των εφαρμογών σε ένα κατανεμημένο περιβάλλον που δεν είναι μόνο στο τοπικό περιβάλλον.
  • Με τον κώδικα RPC, ελαχιστοποιείται η προσπάθεια επανεγγραφής και εκ νέου ανάπτυξης.
  • Μοντέλα προσανατολισμένα στη διαδικασία και νήμα που υποστηρίζονται από το RPC.

Μειονεκτήματα του RPC

Ακολουθούν τα μειονεκτήματα/μειονεκτήματα της χρήσης RPC:

  • Απομακρυσμένη διαδικασία Η κλήση περνά παραμέτρους μόνο κατά τιμές και τιμές δείκτη, κάτι που δεν επιτρέπεται.
  • Ο χρόνος κλήσης (και επιστροφής) της απομακρυσμένης διαδικασίας (δηλ. γενικά έξοδα) μπορεί να είναι σημαντικά χαμηλότερος από αυτόν για μια τοπική διαδικασία.
  • Αυτός ο μηχανισμός είναι πολύ ευάλωτος σε αποτυχία καθώς περιλαμβάνει ένα σύστημα επικοινωνίας, ένα άλλο μηχάνημα και μια άλλη διαδικασία.
  • Η ιδέα του RPC μπορεί να εφαρμοστεί με διαφορετικούς τρόπους, κάτι που δεν είναι τυπικό.
  • Το Not προσφέρει καμία ευελιξία στο RPC για αρχιτεκτονική υλικού, καθώς βασίζεται κυρίως στην αλληλεπίδραση.
  • Το κόστος της διαδικασίας αυξάνεται λόγω μιας κλήσης απομακρυσμένης διαδικασίας.

Σύνοψη

  • Μια κλήση απομακρυσμένης διαδικασίας είναι μια επικοινωνία μεταξύ διεργασιών τεχνική.
  • Τρεις τύποι RPC είναι 1) RPC επανάκλησης 2) RPC μετάδοσης και 3) RPC σε λειτουργία παρτίδας
  • Η αρχιτεκτονική RPC έχει κυρίως πέντε στοιχεία του προγράμματος: 1) Client 2) Client Stub 3) RPC Runtime 4) Server Stub και 5) Server
  • Στη μέθοδο RPC οι διεργασίες δεν μοιράζονται χώρο διευθύνσεων
  • Το RPC προσφέρει απλή σύνταξη κλήσεων και γνωστή σημασιολογία
  • Η μέθοδος RPC βοηθά τους πελάτες να επικοινωνούν με διακομιστές με τη συμβατική χρήση κλήσεων διαδικασίας σε γλώσσες υψηλού επιπέδου.
  • Το μεγαλύτερο μειονέκτημα της μεθόδου RPC είναι ότι είναι πολύ ευάλωτη σε αποτυχία καθώς περιλαμβάνει ένα σύστημα επικοινωνίας, ένα άλλο μηχάνημα και μια άλλη διαδικασία.