Pagkakaiba sa pagitan ng RPC at RMI

May -Akda: Laura McKinney
Petsa Ng Paglikha: 1 Abril 2021
I -Update Ang Petsa: 15 Mayo 2024
Anonim
RPC Authority lore:  Groups of Interest (GoI) | RPC Explained
Video.: RPC Authority lore: Groups of Interest (GoI) | RPC Explained

Nilalaman


Ang RPC at RMI ay ang mga mekanismo na nagbibigay-daan sa isang kliyente na maimbitahan ang pamamaraan o pamamaraan mula sa server sa pamamagitan ng pagtatatag ng komunikasyon sa pagitan ng kliyente at server. Ang karaniwang pagkakaiba sa pagitan ng RPC at RMI ay sinusuportahan lamang ng RPC programming na pamamaraan samantalang ang RMI ay sumusuporta programming na nakatuon sa object.

Ang isa pang pangunahing pagkakaiba sa pagitan ng dalawa ay ang mga parameter na naipasa sa mga malalayong pamamaraan ng tawag na binubuo ng ordinaryong mga istruktura ng data. Sa kabilang banda, ang mga parameter na ipinasa sa malayong pamamaraan ay binubuo ng mga bagay.

  1. Tsart ng paghahambing
  2. Kahulugan
  3. Pangunahing Pagkakaiba
  4. Konklusyon

Tsart ng paghahambing

Batayan para sa paghahambingRPCRMI
SinusuportahanPamamaraan sa pagprograma
Programa na nakabase sa object
ParameterAng mga pangkaraniwang istruktura ng data ay ipinapasa sa mga malalayong pamamaraan.Ang mga bagay ay ipinapasa sa mga malalayong pamamaraan.
KahusayanMas mababa kaysa sa RMIHigit pa sa RPC at suportado ng mga modernong diskarte sa programming (i.e. Mga oriented na object paradigms)
Mga overheadsMarami pa
Mas mababa sa medyo
Ang mga in-out na mga parameter ay sapilitan.OoHindi kinakailangan
Pagbibigay ng kadalian ng programming
Mataas
mababa


Kahulugan ng RPC

Remote na Pamamaraan ng Pamamaraan (RPC) ay isang tampok na programming language na nilikha para sa ipinamamahaging kompyuter at batay sa semantika ng lokal na pamamaraan tawag. Ito ay ang pinaka-karaniwang anyo ng malayong serbisyo at dinisenyo bilang isang paraan upang mai-abstract ang pamamaraan ng mekanismo ng pagtawag upang magamit sa pagitan ng mga system na konektado sa pamamagitan ng isang network. Ito ay katulad ng mekanismo ng IPC kung saan pinapayagan ng operating system ang mga proseso upang pamahalaan ang ibinahaging data at makitungo sa isang kapaligiran kung saan ang iba't ibang mga proseso ay nagpapatupad sa magkakahiwalay na mga sistema at kinakailangang nangangailangan ng -based na komunikasyon.

Alamin natin kung paano ipinatupad ang RPC sa mga naibigay na hakbang:

  • Ang proseso ng kliyente ay tumatawag sa kliyente na may mga parameter, at ang pagpapatupad nito ay sinuspinde hanggang sa matapos ang tawag.
  • Ang mga parameter ay pagkatapos ay isinalin sa form na independiyenteng makina sa pamamagitan ng marshalling sa pamamagitan ng mga stub ng kliyente. Kung gayon ang inihanda na naglalaman ng representasyon ng mga parameter.
  • Upang mahanap ang pagkakakilanlan ng site ang kliyente ay magkakaugnay sa pangalan ng server kung saan umiiral ang malayong pamamaraan.
  • Gamit ang blocking protocol ang kliyente ay sumulat sa site kung saan umiiral ang malayong pamamaraan ng tawag. Ang hakbang na ito ay ihinto ang pag-uusapan ng kliyente hanggang sa makakuha ng isang tugon.


  • Natatanggap ng site ng server ang ipinadala mula sa panig ng kliyente at na-convert ito sa tiyak na format ng makina.
  • Ngayon ang server stub ay nagsasagawa ng isang tawag sa pamamaraan ng server kasama ang mga parameter, at ang server ng server ay hindi na natapos hanggang sa makumpleto ang pamamaraan.
  • Ibinalik ng pamamaraan ng server ang nabuo na mga resulta sa server ng server, at ang mga resulta ay ma-convert sa format ng independiyenteng machine sa mga server ng server at lumikha ng isang naglalaman ng mga resulta.
  • Ang resulta ay ipinadala sa stub ng kliyente na kung saan ay na-convert muli sa tukoy na format ng machine na angkop para sa mga tangkay ng kliyente.
  • Sa huling client, ibabalik ng stub ang mga resulta sa proseso ng kliyente.

Kahulugan ng RMI

Remote Paraan ng Invocation (RMI) ay katulad sa RPC ngunit tiyak ang wika at isang tampok ng java. Ang isang thread ay pinahihintulutan na tawagan ang pamamaraan sa isang malayong bagay. Upang mapanatili ang transparency sa gilid ng kliyente at server, ipinatutupad nito ang malayong bagay gamit ang mga stubs at skeleton. Ang rup ay naninirahan sa kliyente at para sa malayong bagay na kumikilos bilang isang proxy.

Kapag tumawag ang isang kliyente ng isang malayong pamamaraan, ang usbong para sa remote na pamamaraan ay tinatawag. Ang kliyente ay may pananagutan para sa paglikha at sa parsela na naglalaman ng pangalan ng isang pamamaraan at ang mga marshalled na mga parameter, at ang balangkas ay responsable para sa pagtanggap ng parsela.

Ang mga balangkas na unmarshals na mga parameter at hinihiling ang nais na pamamaraan sa server. Ang balangkas ay marshal ang ibinigay na halaga (o mga eksepsiyon) kasama ang parsela at s sa kliyente ng kliyente. Ang tangkay ay muling ibinabalik ang parsela ng pagbabalik at ito sa kliyente.

Sa Java, ang mga parameter ay ipinasa sa mga pamamaraan at bumalik sa anyo ng sanggunian. Maaari itong maging mahirap para sa serbisyo ng RMI dahil hindi lahat ng bagay ay posibleng malalayong pamamaraan. Kaya, dapat itong matukoy kung alin ang maipasa bilang sanggunian at kung saan hindi magagawa.

Ginagamit ng Java ang proseso na pinangalanan bilang serialization kung saan ang mga bagay ay naipasa bilang halaga. Ang malayong bagay ay naisalokal sa pamamagitan ng pagpasa sa pamamagitan ng halaga. Maaari rin itong magpasa ng isang bagay sa pamamagitan ng sanggunian sa pamamagitan ng pagpasa ng isang malayong sanggunian sa bagay kasama ang URL ng klase ng mga sumulat. Ang Pass sa pamamagitan ng sanggunian ay nagtatakda ng isang usbong para sa malayong bagay.

  1. Sinusuportahan ng RPC ang mga paradigma ng programming sa pamamaraan sa gayon ay batay sa C, habang sinusuportahan ng RMI ang mga object-oriented na mga paradigma ng programming at nakabase sa java.
  2. Ang mga parameter na naipasa sa mga malalayong pamamaraan sa RPC ay ang mga ordinaryong istruktura ng data. Sa kabilang banda, ang RMI ay naglilipat ng mga bagay bilang isang parameter sa remote na pamamaraan.
  3. Ang RPC ay maaaring isaalang-alang bilang ang mas lumang bersyon ng RMI, at ginagamit ito sa mga wika ng programming na sumusuporta sa mga pamamaraan ng pamamaraan, at maaari lamang itong gumamit ng paraan ng pass sa pamamagitan ng halaga. Bilang laban, ang pasilidad ng RMI ay nilikha batay sa modernong diskarte sa programming, na maaaring gumamit ng pass sa pamamagitan ng halaga o sanggunian. Ang isa pang bentahe ng RMI ay ang mga parameter na ipinasa ng sanggunian ay maaaring mabago.
  4. Ang protocol ng RPC ay bumubuo ng mas maraming overheads kaysa sa RMI.
  5. Ang mga parameter na naipasa sa RPC ay dapat na "in-out"Na nangangahulugang ang halaga na naipasa sa pamamaraan at ang halaga ng output ay dapat magkaroon ng parehong mga datatypes. Sa kaibahan, walang sapilitang pagpasa ng "in-out"Mga parameter sa RMI.
  6. Sa RPC, ang mga sanggunian ay hindi maaaring mangyari dahil ang dalawang proseso ay may natatanging puwang ng address, ngunit posible sa kaso ng RMI.

Konklusyon

Ang parehong RPC at RMI ay nagsisilbi ng parehong layunin ngunit ginagamit sa mga wika ay sumusuporta sa iba't ibang mga paradigma ng programming, samakatuwid ay may natatanging mga tampok.