RPC (Remote Procedure Call) model og
klient-serveren model er begge distribuerede computermodeller, der giver klienter adgang til tjenester leveret af servere. Der er dog nogle vigtige forskelle mellem de to modeller:
* I RPC-modellen, klienten kalder direkte en procedure på serveren, og serveren udfører den specificerede opgave og returnerer resultatet til klienten. RPC-modellen er derfor baseret på ideen om fjernfunktionsopkald.
* I klient-server-modellen, klienten sender en anmodning til serveren, og serveren behandler anmodningen og sender et svar tilbage. Klient-server-modellen er derfor baseret på ideen om meddelelsesoverførsel.
Andre forskelle mellem RPC-modellen og klient-server-modellen omfatter:
* Modularitet: RPC-modellen er mere modulær end klient-server-modellen, da den tillader klienten og serveren at blive udviklet uafhængigt. Klient-server-modellen kræver på den anden side, at klient og server er tæt koblet, da de skal kommunikere ved hjælp af en bestemt protokol.
* Fejltolerance: RPC-modellen er mindre fejltolerant end klient-server-modellen, da en fejl på serveren kan resultere i, at klienten ikke kan udføre sin opgave. Klient-server-modellen kan på den anden side gøres mere fejltolerant ved at bruge teknikker som replikering og failover.
* Ydeevne: RPC-modellen kan være mere effektiv end klient-server-modellen, da den undgår overhead af meddelelsesoverførsel. Klient-server-modellen kan derimod være mere effektiv med hensyn til båndbreddeforbrug, da den kun sender de beskeder, der er nødvendige for at fuldføre opgaven.
Samlet set er RPC-modellen et mere velegnet valg til applikationer, der kræver høj ydeevne og modularitet, mens klient-server-modellen er et bedre valg til applikationer, der kræver fejltolerance og effektiv brug af båndbredde.