Protokol vzdáleného volání procedur (RPC) v distribuovaném systému

Co je RPC?

Vzdálené volání procedur (RPC) je meziprocesová komunikační technika. Úplná forma RPC je vzdálené volání procedur. Používá se pro aplikace klient-server. Mechanismy RPC se používají, když počítačový program způsobí provedení procedury nebo podprogramu v jiném adresním prostoru, který je kódován jako normální volání procedury, aniž by programátor konkrétně kódoval podrobnosti pro vzdálenou interakci.

Toto volání procedury také spravuje nízkoúrovňový transportní protokol, jako je User Datagram Protocol, Transmission Control Protocol/Internet Protocol atd. Používá se pro přenos dat zpráv mezi programy.

Typy RPC

Tři typy RPC jsou:

  • Zpětné volání RPC
  • Vysílání RPC
  • RPC v dávkovém režimu

Zpětné volání RPC

Tento typ RPC umožňuje P2P paradigma mezi zúčastněnými procesy. Pomáhá procesu být jak klientskými, tak serverovými službami.

Funkce Callback RPC:

  • Vzdáleně zpracované problémy s interaktivními aplikacemi
  • Nabízí server s klientskou rukojetí
  • Zpětné volání způsobí, že klientský proces čeká
  • Správa uváznutí zpětného volání
  • Usnadňuje paradigma peer-to-peer mezi zúčastněnými procesy.

Vysílání RPC

Broadcast RPC je požadavek klienta, který je vysílán v síti, zpracován všemi servery, které mají metodu pro zpracování tohoto požadavku.

Funkce Broadcast RPC:

  • Umožňuje určit, že zpráva požadavku klienta musí být vysílána.
  • Můžete deklarovat porty vysílání.
  • Pomáhá snižovat zatížení fyzické sítě

RPC v dávkovém režimu

RPC v dávkovém režimu pomáhá řadit do fronty, oddělovat požadavky RPC ve vyrovnávací paměti přenosu na straně klienta a poté je odesílat v síti v jedné dávce na server.

Funkce RPC v dávkovém režimu:

  • Minimalizuje režii spojenou s odesíláním požadavku, protože je odesílá přes síť v jedné dávce na server.
  • Tento typ protokolu RPC je účinný pouze pro aplikace, které potřebují nižší sazby za hovory.
  • Vyžaduje spolehlivý přenosový protokol.

RPC Architecture

Architektura RPC má hlavně pět součástí programu:

  1. Klient
  2. Klientský útržek
  3. RPC Runtime
  4. Útržek serveru
  5. Server
RPC Architecture
RPC Architecture

Jak RPC funguje?

Během procesu RPC probíhají následující kroky:

Krok 1) Klient, se zakázaným inzerováním klienta a jedna instance běhu RPC se spustí na klientském počítači.

Krok 2) Klient spustí proces se zakázaným inzerováním předáním parametrů obvyklým způsobem. Se zakázaným inzerováním klienta se ukládá v rámci vlastního adresního prostoru klienta. Také požádá místní RPC Runtime o odeslání zpět na server se zakázaným inzerováním.

Krok 3) V této fázi k RPC přistupuje uživatel provedením běžné místní procedurální kalibrace. RPC Runtime spravuje přenos zpráv mezi sítí přes klienta a server. Provádí také práci opakovaného přenosu, potvrzování, směrování a šifrování.

Krok 4) Po dokončení procedury serveru se vrátí do stub serveru, který zabalí (zařadí) vrácené hodnoty do zprávy. Stub serveru poté odešle zprávu zpět transportní vrstvě.

Krok 5) V tomto kroku transportní vrstva odešle zprávu o výsledku zpět transportní vrstvě klienta, která vrátí zprávu zpět klientovi se zakázaným inzerováním.

Krok 6) V této fázi klient stub demarshalls (rozbalí) návratové parametry ve výsledném paketu a proces provádění se vrátí k volajícímu.

Charakteristika RPC

Zde jsou základní vlastnosti RPC:

  • Volaná procedura je v jiném procesu, který je pravděpodobně umístěn v jiném počítači.
  • Procesy nesdílejí adresní prostor.
  • Parametry jsou předávány pouze hodnotami.
  • RPC se spouští v prostředí procesu serveru.
  • Nenabízí přístup do prostředí volající procedury.

Vlastnosti RPC

Zde jsou důležité funkce RPC:

  • Jednoduchá syntaxe volání
  • Nabízí známou sémantiku
  • Poskytněte dobře definované rozhraní
  • Může komunikovat mezi procesy na stejných nebo různých strojích

Výhody RPC

Zde jsou výhody/výhody RPC:

  • Metoda RPC pomáhá klientům komunikovat se servery konvenčním použitím volání procedur ve vyšších jazycích.
  • Metoda RPC je modelována na volání místní procedury, ale volaná procedura bude s největší pravděpodobností provedena v jiném procesu a obvykle na jiném počítači.
  • RPC podporuje procesy a modely orientované na vlákna.
  • RPC skryje vnitřní mechanismus předávání zpráv před uživatelem.
  • Snaha přepsat a znovu vyvinout kód je minimální.
  • Vzdálená volání procedur lze použít pro účely distribuovaného a místního prostředí.
  • Zavazuje mnoho vrstev protokolu ke zlepšení výkonu.
  • RPC poskytuje abstrakci. Například povaha síťové komunikace předávání zpráv zůstává uživateli skryta.
  • RPC umožňuje použití aplikací v distribuovaném prostředí, které není pouze v lokálním prostředí.
  • S kódem RPC je minimalizováno úsilí o přepisování a opětovném vývoji.
  • Podpora procesně orientovaných a vláknově orientovaných modelů pomocí RPC.

Nevýhody RPC

Zde jsou nevýhody/nevýhody používání RPC:

  • Vzdálené volání procedury předává parametry pouze hodnotami a hodnotami ukazatele, což není povoleno.
  • Doba volání (a návratu) vzdálené procedury (tj. režie) může být výrazně kratší než u místní procedury.
  • Tento mechanismus je vysoce zranitelný vůči selhání, protože zahrnuje komunikační systém, další stroj a další proces.
  • Koncept RPC lze implementovat různými způsoby, což není standardní.
  • Nenabízí žádnou flexibilitu RPC pro hardwarovou architekturu, protože je většinou založen na interakci.
  • Náklady na proces se zvyšují kvůli vzdálenému volání procedury.

Shrnutí

  • Vzdálené volání procedury je an meziprocesová komunikace technika.
  • Tři typy RPC jsou 1) Callback RPC 2) Broadcast RPC a 3) RPC v dávkovém režimu
  • Architektura RPC má hlavně pět součástí programu: 1) Klient 2) Klientský útržek 3) RPC Runtime 4) Serverový útržek a 5) Server
  • V metodě RPC procesy nesdílejí adresní prostor
  • RPC nabízí jednoduchou syntaxi volání a známou sémantiku
  • Metoda RPC pomáhá klientům komunikovat se servery konvenčním použitím volání procedur ve vyšších jazycích.
  • Největší nevýhodou metody RPC je, že je vysoce zranitelná vůči selhání, protože zahrnuje komunikační systém, další stroj a další proces.