ckv
ckv

Reputation: 10830

What are the advantages and disadvantages of Remote Procedure Calls

Can anyone please provide specific links which cite the advantages of RPC over other inter process communication models.

Also whether RPC is best suited for TCP/IP or HTML or similar other transfer mediums.

Thanks and in advance.

Upvotes: 3

Views: 7598

Answers (1)

Rob Lachlan
Rob Lachlan

Reputation: 14469

I think that you're mixing and matching various parts of the internet stack. Following the five-layer layer network model (there's also a seven layer model that you can compare),

  1. Application Layer: Many, including HTTP, RPC, etc.
  2. Transport Layer: TCP (others exist, including UDP, ICMP)
  3. Network Layer: IP
  4. Link Layer
  5. Physical Layer

RPC would sit in the application layer, so I don't really see how HTML would be involved.

Regarding RPC: It (along with other similar protocols like Java's RMI) gives you a way of transparently calling a procedure located at another computer across a network, as though it were local. Is this a good thing? Superficially, it would seem to make distributed computing easier, but that may be an illusion. Because treating a distributed system like a single computer can be a very dangerous way to program.

Waldo et al. describe the problem very well (seriously, it's an excellent paper). Distributed systems have problems not found in standalone systems: latency; partial failure; different memory access models. These are the "hard parts" of distributed computing. RPC solves the "easy part": marshalling and unmarshalling data, while papering over the hard parts, and most likely leading to a false sense of security.

Upvotes: 5

Related Questions