Разница между RPC и RMI

RPC против RMI

RPC (удаленный вызов процедур) и RMI (удаленный вызов методов) - это два механизма, которые позволяют пользователю вызывать или вызывать процессы, которые будут запускаться на компьютере, отличном от того, который использует пользователь. Основное различие между ними заключается в используемом подходе или парадигме. RMI использует объектно-ориентированную парадигму, где пользователь должен знать объект и метод объекта, который он должен вызвать. Для сравнения, RPC не является объектно-ориентированным и не работает с объектами. Скорее это вызывает определенные подпрограммы, которые уже установлены.

RPC является относительно старым протоколом, основанным на языке C, поэтому он наследует свою парадигму. С RPC вы получаете вызов процедуры, который очень похож на локальный вызов. RPC обрабатывает сложности, связанные с передачей вызова с локального на удаленный компьютер. RMI делает то же самое; управление сложностями передачи вызова с локального на удаленный компьютер. Но вместо передачи процедурного вызова RMI передает ссылку на объект и вызываемый метод. RMI был разработан Java и использует его виртуальную машину. Поэтому его использование исключительно для приложений Java для вызова методов на удаленных компьютерах..

В конце концов, RPC и RMI - это всего лишь два способа достижения одной и той же цели. Все сводится к тому, какой язык вы используете и к какой парадигме вы привыкли. Использование объектно-ориентированного RMI - лучший подход между ними, особенно с более крупными программами, поскольку он обеспечивает более чистый код, который легче отследить, если что-то пойдет не так. Использование RPC все еще широко распространено, особенно когда какой-либо альтернативный удаленный процедурный протокол не подходит.

Резюме:

1.RMI является объектно-ориентированным, а RPC - нет
2.RPC - это базы C, а RMI - только Java
3. RMI вызывает методы, в то время как RPC вызывает функции
4. RPC устарел, а RMI - будущее