RPC-Protokoll (Remote Procedure Call) in einem verteilten System

Was ist RPC?

Remoteprozeduraufruf (RPC) ist eine prozessübergreifende Kommunikationstechnik. Die vollständige Form von RPC ist Remote Procedure Call. Es wird für Client-Server-Anwendungen verwendet. RPC-Mechanismen werden verwendet, wenn ein Computerprogramm die Ausführung einer Prozedur oder Unterroutine in einem anderen Adressraum veranlasst, der als normaler Prozeduraufruf codiert ist, ohne dass der Programmierer den Code speziell codierttails für die Ferninteraktion.

Dieser Prozeduraufruf verwaltet auch Low-Level-Transportprotokolle wie das User Datagram Protocol. Transmission Steuerprotokoll/Internetprotokoll usw. Es wird für die Übertragung der Nachrichtendaten zwischen Programmen verwendet.

Arten von RPC

Drei Arten von RPC sind:

  • Rückruf-RPC
  • Broadcast-RPC
  • RPC im Batch-Modus

Rückruf-RPC

Diese Art von RPC ermöglicht ein P2P-Paradigma zwischen beteiligten Prozessen. Es hilft einem Prozess, sowohl Client- als auch Serverdienste zu sein.

Funktionen von Callback RPC:

  • Probleme mit interaktiven Anwendungen aus der Ferne verarbeitet
  • Bietet Server mit Client-Handle
  • Rückruf lässt den Clientprozess warten
  • Rückruf verwalten deadlocks
  • Es erleichtert ein Peer-to-Peer-Paradigma zwischen teilnehmenden Prozessen.

Broadcast-RPC

Broadcast-RPC ist eine Client-Anfrage, die im Netzwerk gesendet und von allen Servern verarbeitet wird, die über die Methode zur Verarbeitung dieser Anfrage verfügen.

Funktionen von Broadcast RPC:

  • Hier können Sie angeben, dass die Anforderungsnachricht des Clients gesendet werden muss.
  • Sie können Broadcast-Ports deklarieren.
  • Es trägt dazu bei, die Belastung des physischen Netzwerks zu reduzieren

RPC im Batch-Modus

RPC im Batch-Modus hilft dabei, RPC-Anforderungen in einer Warteschlange zu platzieren transmission buffer, auf der Client-Seite, und senden Sie sie dann über ein Netzwerk in einem Stapel an den Server.

Funktionen des Batch-Modus-RPC:

  • Der mit dem Senden einer Anfrage verbundene Aufwand wird minimiert, da die Anfrage in einem Stapel über das Netzwerk an den Server gesendet wird.
  • Diese Art von RPC-Protokoll ist nur für Anwendungen effizient, die niedrigere Anrufraten benötigen.
  • Es braucht einen zuverlässigen transmission Protokoll.

RPC Architektur

RPC architecture besteht hauptsächlich aus fünf Komponenten des Programms:

  1. Kunden
  2. Client-Stub
  3. RPC-Laufzeit
  4. Server-Stub
  5. Server
RPC Architektur
RPC Architektur

Wie funktioniert RPC?

Following Während des RPC-Prozesses finden folgende Schritte statt:

Schritt 1) Der Client, der Client-Stub und eine Instanz der RPC-Laufzeit werden auf dem Client-Computer ausgeführt.

Schritt 2) Ein Client startet einen Client-Stub-Prozess, indem er auf übliche Weise Parameter übergibt. Der Client-Stub wird im eigenen Adressraum des Clients gespeichert. Außerdem wird die lokale RPC-Laufzeit aufgefordert, an den Server-Stub zurückzusenden.

Schritt 3) In dieser Phase greift der Benutzer auf RPC zu, indem er eine regelmäßige lokale prozedurale Kalibrierung durchführt. RPC Runtime verwaltet die transmission von Nachrichten zwischen dem Netzwerk über Client und Server. Es übernimmt auch die Aufgabe der Retransmission, Bestätigung, Routing und Verschlüsselung.

Schritt 4) Nach Abschluss des Servervorgangs kehrt es zum Server-Stub zurück, der die Rückgabewerte in eine Nachricht packt (marshallt). Der Server-Stub sendet dann eine Nachricht zurück an die Transportschicht.

Schritt 5) In diesem Schritt sendet die Transportschicht die Ergebnisnachricht an die Client-Transportschicht zurück, die eine Nachricht an den Client-Stub zurücksendet.

Schritt 6) In dieser Phase entmarshallt (entpackt) der Client-Stub die Rückgabeparameter im resultierenden Paket und der Ausführungsprozess kehrt zum Aufrufer zurück.

Eigenschaften von RPC

Hier sind die wesentlichen Merkmale von RPC:

  • Die aufgerufene Prozedur befindet sich in einem anderen Prozess, der sich wahrscheinlich auf einem anderen Computer befindet.
  • Die Prozesse teilen sich keinen Adressraum.
  • Parameter werden nur von Werten übergeben.
  • RPC wird in der Umgebung des Serverprozesses ausgeführt.
  • Es bietet keinen Zugriff auf die Umgebung der aufrufenden Prozedur.

Funktionen von RPC

Hier sind die wichtigen Funktionen von RPC:

  • Einfache Aufrufsyntax
  • Bietet bekannte Semantik
  • Stellen Sie eine klar definierte Schnittstelle bereit
  • Es kann zwischen Prozessen auf derselben oder verschiedenen Maschinen kommunizieren

Vorteile von RPC

Hier sind die Vorteile/Vorteile von RPC:

  • Die RPC-Methode hilft Clients bei der Kommunikation mit Servern durch die herkömmliche Verwendung von Prozeduraufrufen in Hochsprachen.
  • Die RPC-Methode ist dem lokalen Prozeduraufruf nachempfunden, die aufgerufene Prozedur wird jedoch höchstwahrscheinlich in einem anderen Prozess und normalerweise auf einem anderen Computer ausgeführt.
  • RPC unterstützt prozess- und threadorientierte Modelle.
  • RPC macht den internen Nachrichtenübermittlungsmechanismus für den Benutzer verborgen.
  • Der Aufwand zum Neuschreiben und Neuentwickeln des Codes ist minimal.
  • Remote-Prozeduraufrufe können für verteilte und lokale Umgebungen verwendet werden.
  • Es verpflichtet viele der Protokollschichten, um die Leistung zu verbessern.
  • RPC bietet Abstraktion. Beispielsweise bleibt der Nachrichtenübermittlungscharakter der Netzwerkkommunikation dem Benutzer verborgen.
  • RPC ermöglicht die Nutzung der Anwendungen in einer verteilten Umgebung, die sich nicht nur in der lokalen Umgebung befindet.
  • Mit RPC-Code wird der Aufwand für das Neuschreiben und Neuentwickeln minimiert.
  • Unterstützung prozessorientierter und threadorientierter Modelle durch RPC.

Nachteile von RPC

Hier sind die Vor- und Nachteile der Verwendung von RPC:

  • Der Remoteprozeduraufruf übergibt Parameter nur anhand von Werten und Zeigerwerten, was nicht zulässig ist.
  • Die Aufruf- (und Rückgabe-)Zeit (dh der Overhead) einer Remote-Prozedur kann erheblich geringer sein als die einer lokalen Prozedur.
  • Dieser Mechanismus ist sehr anfällig für Fehler, da er ein Kommunikationssystem, eine andere Maschine und einen anderen Prozess umfasst.
  • Das RPC-Konzept kann auf unterschiedliche Weise implementiert werden, was nicht standardmäßig möglich ist.
  • Bietet keine Flexibilität in RPC für Hardware archiDie Struktur ist größtenteils interaktionsbasiert.
  • Durch einen Remote-Prozeduraufruf werden die Kosten des Prozesses erhöht.

Zusammenfassung

  • Ein Remoteprozeduraufruf ist ein Interprozesskommunikation Technik.
  • Drei Arten von RPC sind 1) Callback-RPC, 2) Broadcast-RPC und 3) Batch-Modus-RPC
  • RPC archiDie Struktur besteht hauptsächlich aus fünf Komponenten des Programms: 1) Client, 2) Client Stub, 3) RPC Runtime, 4) Server Stub und 5) Server
  • Bei der RPC-Methode teilen sich die Prozesse keinen Adressraum
  • RPC bietet eine einfache Aufrufsyntax und bekannte Semantik
  • Die RPC-Methode hilft Clients bei der Kommunikation mit Servern durch die herkömmliche Verwendung von Prozeduraufrufen in Hochsprachen.
  • Der größte Nachteil der RPC-Methode besteht darin, dass sie sehr fehleranfällig ist, da sie ein Kommunikationssystem, eine andere Maschine und einen anderen Prozess umfasst.