Программа на одном компьютере в сети использует удаленный вызов процедуры, чтобы сделать запрос программы на другом компьютере в сети, не зная сведений о сети. Протокол RPC представляет собой модель сетевого программирования для двухточечной связи внутри или между программными приложениями. RPC также известен как вызов подпрограммы или вызов функции.
Как работает RPC
В RPC отправляющий компьютер делает запрос в виде вызова процедуры, функции или метода. RPC переводит эти вызовы в запросы и отправляет их по сети целевому назначению. Затем получатель RPC обрабатывает запрос на основе имени процедуры и списка аргументов и отправляет ответ отправителю по завершении. Приложения RPC обычно реализуют программные модули, называемые «прокси» и «заглушки», которые выполняют броузеры удаленных вызовов и заставляют их отображаться программисту так же, как и вызовы локальной процедуры.
Приложения вызова RPC обычно работают синхронно, ожидая, что удаленная процедура вернет результат. Однако использование легких потоков с одним и тем же адресом означает, что одновременно могут выполняться несколько RPC. RPC использует логику тайм-аута для обработки сетевых сбоев или других ситуаций, в которых RPC не возвращаются.
Технологии RPC
RPC является распространенным методом программирования в мире Unix с 1990-х годов. Протокол RPC был реализован как в распределенной вычислительной среде Open Software Foundation, так и в библиотеках Sun Microsystems Open Network Computing, которые были широко развернуты. Более свежие примеры технологий RPC включают Microsoft DCOM, Java RMI и XML-RPC и SOAP.