You are developing a distributed database that will operate

You are developing a distributed database that will operate across a high-latency satellite link. You are and message passing approaches for communicating data between parts of the system. Which approach choose and why? Why would you rule out the approach?

Solution

Why not RPC?

RPC provides higher abstract level than any other communication. So, it is quite easy and simple to use RPC.But one has to pay the cost in performance because of marshaling/unmarshaling and added complexity in configuration for simple scenarios.
RPC fails in the cases of Non-Local exceptions, Indirect Memory Allocation, Blocking calls, etc.

Messaging

Whereas in messaging, the actual connectivity between the processes is much less. It is the lowest level of abstration.You hand the message off, and you\'re on your way.Now if one of the processes fail, there\'s a good chance of it being restarted where it left off,since, typically, the message is still sitting on a queue somewhere waiting for a new process to fetch it. The overall time may be longer, but it\'s a much more robust system.

On conclusion, Messaging is better approach than RPC.

 You are developing a distributed database that will operate across a high-latency satellite link. You are and message passing approaches for communicating data

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site