RPC (Remote Procedure Call) modellen og
klientserveren modell er begge distribuerte databehandlingsmodeller som lar klienter få tilgang til tjenester levert av servere. Det er imidlertid noen viktige forskjeller mellom de to modellene:
* I RPC-modellen, klienten kaller direkte en prosedyre på serveren, og serveren utfører den angitte oppgaven og returnerer resultatet til klienten. RPC-modellen er derfor basert på ideen om fjernfunksjonsanrop.
* I klient-tjener-modellen, klienten sender en forespørsel til serveren, og serveren behandler forespørselen og sender tilbake et svar. Klient-server-modellen er derfor basert på ideen om meldingsoverføring.
Andre forskjeller mellom RPC-modellen og klient-tjener-modellen inkluderer:
* Modularitet: RPC-modellen er mer modulær enn klient-server-modellen, da den lar klienten og serveren utvikles uavhengig. Klient-server-modellen krever derimot at klienten og serveren er tett koblet, da de må kommunisere ved hjelp av en spesifikk protokoll.
* Feiltoleranse: RPC-modellen er mindre feiltolerant enn klient-server-modellen, da en feil på serveren kan føre til at klienten ikke kan fullføre oppgaven. Klient-server-modellen kan derimot gjøres mer feiltolerant ved å bruke teknikker som replikering og failover.
* Ytelse: RPC-modellen kan være mer effektiv enn klient-server-modellen, da den unngår overhead av meldingsoverføring. Klient-server-modellen kan derimot være mer effektiv med tanke på båndbreddebruk, da den kun sender de meldingene som er nødvendige for å fullføre oppgaven.
Samlet sett er RPC-modellen et mer passende valg for applikasjoner som krever høy ytelse og modularitet, mens klient-server-modellen er et bedre valg for applikasjoner som krever feiltoleranse og effektiv bruk av båndbredde.